2012-04-20 18 views
5

मेरे पास एक मैक ऐप के लिए एक एक्सकोड प्रोजेक्ट है जिसमें लॉगिन पर मुख्य ऐप लॉन्च करने के लिए एक सहायक ऐप के लिए एक और प्रोजेक्ट है। क्या कोई तरीका है कि मैं मुख्य ऐप के सहायक ऐप के बंडल पहचानकर्ता को ${PRODUCT_NAME} जैसे प्रोजेक्ट वैरिएबल के साथ आधार कर सकता हूं लेकिन ${ROOT_PRODUCT_IDENTIFIER} जैसा कुछ है?एक्सकोड: क्या एक मूल परियोजना के बंडल पहचानकर्ता को प्राप्त करने का कोई तरीका है?

तो मुख्य एप्लिकेशन के बंडल पहचानकर्ता होगा:

com.mydomain.app

और सहायक ऐप के बंडल पहचानकर्ता होगा:

${ROOT_PRODUCT_IDENTIFIER}.Helpercom.mydomain.app.Helper

http://f.cl.ly/items/263B370t2G3F2q202n3D/Screen%20Shot%202012-04-20%20at%201.23.18%20AM.png

मेरे साथ लक्ष्य यह वास्तव में एक आसान टी बनाने के लिए है लॉगिन सहायक एप्लिकेशन पर उपयोग ओ सामान्य लांच है कि किसी भी मैक एप्लिकेशन का उपयोग कर सकते हैं, मुझे मिल गया है यह इस रेपो में काम कर रहा है, लेकिन यह आवश्यकता है एक जोड़े मूल्यों को बदलने की: चर तुम https://github.com/kgn/LaunchAtLoginHelper

उत्तर

1

मुझे डर लग रहा मौजूद नहीं है की तलाश में, एक नज़र here या here

है लेकिन मैं अपने खुद के वातावरण चर, जो मुश्किल नहीं है बनाने के द्वारा एक वैकल्पिक हल के बारे में सोच सकते हैं। अपनी इच्छित चीज़ों को प्राप्त करने के लिए, अपनी मुख्य परियोजना के लिए एक बिल्ड स्क्रिप्ट बनाएं जो पहचानकर्ता को निकालती है और इसे पर्यावरण चर में सहेजती है।

अपने मुख्य प्रोजेक्ट के लक्ष्य पर जाएं और बिल्ड बिल्ड जोड़ें -> रन स्क्रिप्ट जोड़ें पर क्लिक करें। खोल दिखाई देने वाले बॉक्स में, में इस टाइप करें:

ROOT_PRODUCT_IDENTIFIER_PLIST=`/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" $INFOPLIST_FILE` 
export ROOT_PRODUCT_IDENTIFIER=`eval echo $ROOT_PRODUCT_IDENTIFIER_PLIST` 

अब अपने plist में अपने सहायक की परियोजना और संदर्भ $ (ROOT_PRODUCT_IDENTIFIER) के लिए जाना/सेटिंग्स का निर्माण।

बाद में अपने मुख्य प्रोजेक्ट को निर्भरता के रूप में जोड़ने के लिए याद रखें, ताकि परिवर्तनीय हमेशा इसकी आवश्यकता के समय निर्धारित हो।

संबंधित मुद्दे

 संबंधित मुद्दे