मैं एक ऐसी स्क्रिप्ट लिखना चाहूंगा जो बंडल आइडेंटिफ़ायर या ऐप के Info.plist से संस्करण संख्या जैसे जानकारी पढ़ सके। एक्सकोड उस जानकारी को इसके पर्यावरण चर में नहीं देता है। क्या उन्हें sh/bash में लाने का कोई और तरीका है?शैल स्क्रिप्ट से प्लिस्ट जानकारी (बंडल आईडी) को कैसे पढ़ा जाए
उत्तर
defaults
आदेश किसी भी plist फाइल करने के लिए/लिखने पढ़ सकते हैं, बस इसे एक रास्ता शून्य से .plist
विस्तार दे:
$ defaults read /Applications/Preview.app/Contents/Info CFBundleIdentifier
com.apple.Preview
यह आवेदन बंडल के Info.plist
फ़ाइल से सीधे CFBundleIdentifier
मूल्य खींचती है।
डिफ़ॉल्ट भी बाइनरी plists के साथ किसी भी अतिरिक्त कदम के बिना काम करता है।
आप सीधे निर्मित उत्पाद से फ़ाइल को पढ़ सकते हैं। हालांकि, अगर आप एडिटर में info.plist फ़ाइल को देखते हैं तो आप शैल चर स्वयं को देखेंगे। जैसे
com.yourcompany.${PRODUCT_NAME:rfc1034identifier}
आप किसी भी खोल स्क्रिप्ट है कि Xcode चलाता में ${PRODUCT_NAME:rfc1034identifier}
कॉल कर सकते हैं और यह पॉप्युलेट करना चाहिए: बंडल आईडी निम्नलिखित शेल कमांड है।
यह अच्छा लगता है हालांकि मैंने इसका परीक्षण नहीं किया है। दोष यह है कि आप बंडल आईडी वापस नहीं लेते हैं, बल्कि इसका अंतिम भाग भी प्राप्त करते हैं, इसलिए आपको कहीं भी "com.mycompanyname" भाग को हार्डकोड करना होगा ... – Dimitris
मैक पर प्लसबड्डी नामक एक कमांड लाइन प्रोग्राम स्थापित है जो एक प्लेस्ट में मूल्यों को पढ़/लिख सकता है। अधिक जानकारी प्राप्त करने के लिए टर्मिनल में 'मैन प्लिस्टबड्डी' टाइप करें।
मैंने प्लिस्टबड्डी की कोशिश की है और इसके साथ बहुत कुछ खेला है। समस्या यह है कि प्लिस्टबड्डी बंडल आईडी प्रिंट कर सकती है लेकिन इसे वापस नहीं कर सकती (यह केवल 0 या 1 लौटाती है)। तो एक खोल नोब होने के नाते मुझे एक चर को सौंपा गया कुछ परेशानी थी। हालांकि मैं इसे काम करने में कामयाब रहा। मैं अब अपना जवाब पोस्ट करूंगा। – Dimitris
PlistBuddy, एप्पल द्वारा एक ऐप्लिकेशन इसे इस तरह वर के स्ट्रिंग आवंटित करने के लिए संभव है का उपयोग करना:
#!/bin/sh
BUNDLE_ID=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "${BUILD_ROOT}/${INFOPLIST_PATH}")
कहाँ BUILD_ROOT और INFOPLIST_PATH चर Xcode द्वारा स्थापित कर रहे हैं यदि आप एक "भागो स्क्रिप्ट" में इस स्क्रिप्ट को चलाने निर्माण चरण।
प्लिस्टबड्डी हमेशा सिस्टम में मौजूद नहीं है। यदि आप स्क्रिप्ट वितरित करते हैं, तो आप डिफ़ॉल्ट का उपयोग करने पर विचार कर सकते हैं, क्योंकि अन्य उत्तरों की ओर इशारा किया गया है। –
- 1. प्लिस्ट से बंडल संस्करण को कैसे पढ़ा जाए?
- 2. स्क्रिप्ट फ़ाइल से स्क्रिप्ट को कैसे पढ़ा जाए?
- 3. प्लिस्ट बंडल संस्करण मान
- 4. शैल स्क्रिप्ट
- 5. डॉक्क्स दस्तावेज़ों से मेटाडेटा जानकारी कैसे पढ़ा जाए?
- 6. कोर ब्लूटूथ डिवाइस से जानकारी कैसे पढ़ा जाए
- 7. एमपी 3 से मेटाडेटा कैसे पढ़ा जाए?
- 8. NSUserDefaults से स्ट्रिंग को कैसे पढ़ा जाए
- 9. ब्लू-रे डिस्क से शीर्षक और आईडी कैसे पढ़ा जाए?
- 10. NSDocumentDirectory से डेटा को कैसे पढ़ा जाए
- 11. gmon.out को कैसे पढ़ा जाए?
- 12. एक्सएमआई कैसे पढ़ा जाए?
- 13. इंटरनेट संसाधन से टेक्स्ट फ़ाइल को कैसे पढ़ा जाए?
- 14. स्क्रीन के पिक्सेल को कैसे पढ़ा जाए?
- 15. उबंटू क्रोम: एक पायथन स्क्रिप्ट से कुकी को कैसे पढ़ा जाए
- 16. शैल स्क्रिप्ट
- 17. शैल स्क्रिप्ट
- 18. शैल स्क्रिप्ट
- 19. शैल स्क्रिप्ट
- 20. शैल स्क्रिप्ट
- 21. शैल स्क्रिप्ट
- 22. शैल स्क्रिप्ट
- 23. शैल स्क्रिप्ट
- 24. SQLite डेटाबेस से डेटा कैसे पढ़ा जाए?
- 25. शैल स्क्रिप्ट
- 26. यूआरएल से सीएसवी फ़ाइल कैसे पढ़ा जाए?
- 27. कंसोल से स्पेस से अलग संख्याओं को कैसे पढ़ा जाए?
- 28. शैल स्क्रिप्ट
- 29. हबेस से डेटा कैसे पढ़ा जाए?
- 30. app.config से कस्टम एक्सएमएल कैसे पढ़ा जाए?
यह बेहतर जवाब है (esp। चूंकि प्लिस्टबड्डी अब डिफ़ॉल्ट स्थापित नहीं है); आपको इसे चुनना चाहिए। – Olie
यह भी ध्यान दें कि डिफ़ॉल्ट एक पूर्ण पथ चाहते हैं, न कि एक सापेक्ष पथ, भले ही आप वर्तमान में उस प्लिस्ट फ़ाइल के साथ निर्देशिका में हैं, जिसे आप पढ़ने की कोशिश कर रहे हैं। (अजीब!) – Olie
तो, जब आप इसे किसी निर्देशिका के अंदर करते हैं, तो आप इसका उपयोग कर सकते हैं: डिफ़ॉल्ट $ PWD/SomeMyDirectory/Info.plist CFBundleIdentifier "com.apple.Preview" – iVader