2010-11-10 5 views
10

मुझे अक्सर पता चलता है कि मुझे अपने आईफोन पर निर्माण करने की ज़रूरत है जो मेरा 'डेमो-तैयार' संस्करण है जो मेरे डेमो सर्वर को इंगित कर सकता है। मैं एक ऐसा निर्माण भी चाहता हूं जो नवीनतम और सबसे बड़ी डीबग बिल्ड है जिसे मैं अपने विकास सर्वर पर उन बिंदुओं के साथ विकसित कर रहा हूं। क्या किसी ने मुझे दो ऐप्स इंस्टॉल करने के लिए वास्तव में एक आसान तरीका पाया है जो शायद सटीक कोड हैं लेकिन विभिन्न सर्वरों को इंगित करते हैं? वैकल्पिक रूप से शायद मेरे पास एक ऐप होगा जो नवीनतम संस्करण के पीछे कुछ संस्करण था? अधिमानतः मैं आईफोन पर निर्माण और स्थापित करने के लिए एक ही एक्सकोड परियोजना का उपयोग करूंगा।अपने आईफोन में एक ही आईओएस ऐप के कई बिल्ड स्थापित करने के लिए एक्सकोड का उपयोग करने का सबसे अच्छा तरीका क्या है?

उत्तर

9

आप उनके लिए विशेष बिल्ड कॉन्फ़िगरेशन जोड़ सकते हैं कि प्रत्येक एक अलग info.plist फ़ाइल का उपयोग करता है। तो, शायद आपके डेमो के लिए, आपके पास रिलीज के लिए MyApp-Info-DEMO.plist और MyApp-Info.plist नाम की एक जानकारी है।

फिर आप अपने सर्वर चर को info.plist चर के रूप में जोड़ सकते हैं और ऐप शुरू होने पर इसे देख सकते हैं। या यहां तक ​​कि बस अपनी नई कॉन्फ़िगरेशन में एक डेफिन स्टेटमेंट बनाएं जो लाइव के लिए डेमो और SERVER = production.myserver.com के लिए SERVER = demo.myserver.com जैसा कुछ है।

सबसे महत्वपूर्ण बात सीएफबंडल इंडेंटिफायर को नई जानकारी में बदलना है। प्लिस्ट। तो अपने डेमो में, आप इसे com.mycompany.myapp.DEMO जैसे कुछ नाम दे सकते हैं और असली एक com.mycompany.myapp हो सकता है।

यह दोनों संस्करणों को एक ही समय में फोन पर दिखाई देने की अनुमति देगा (विभिन्न CFBundleIdentifiers)। बस याद रखें, अगर आप इन-ऐप खरीद या सर्वर पुश अधिसूचनाओं का उपयोग कर रहे हैं, तो आप अपने असली ऐप पहचानकर्ता और आपके डेमो दोनों के लिए एक अलग, विशिष्ट प्रोफ़ाइल के बिना ऐसा करने में सक्षम नहीं होंगे।

+5

अलग-अलग फ़ाइलों के बजाय, आप अपनी Info.plist फ़ाइल में '$ (BUNDLE_IDENTIFIER) 'का भी उपयोग कर सकते हैं, फिर उपयोगकर्ता-परिभाषित बिल्ड सेटिंग के रूप में अपना मान सेट कर सकते हैं। – benzado

1

एक्सकोड के वर्तमान संस्करण के साथ, आप ऐप की Info.plist फ़ाइल को एक अलग बंडल पहचानकर्ता (और संभवतः बिल्ड सेटिंग्स में ऐप का उत्पाद नाम भी बदलने के लिए) को बदलकर प्राप्त करेंगे।

एक्सकोड के आने वाले संस्करण, जो मैंने प्रीरलीज़ प्रलेखन में पढ़ा है, में एक ऐसी सुविधा है जो आपको सरलता से सरल बनाना चाहती है। हालांकि, चूंकि प्रीरलीज सॉफ्टवेयर एनडीए के तहत कवर किया गया है, इसलिए मैं आपको कोई विवरण नहीं दे सकता।

2

आप 2 अलग-अलग जानकारी के साथ 2 अलग-अलग लक्ष्य बना सकते हैं। प्लिस्ट और 2 अलग-अलग प्रीप्रोसेसर परिभाषित करते हैं (प्रत्येक 2 लक्ष्यों के लिए बिल्ड सेटिंग्स में)। फिर प्रीप्रोसेसर पर ifdef सर्वर स्थिरता का चयन करने के लिए परिभाषित करता है संकलक प्रत्येक लक्ष्य के लिए उपयोग करता है।

फिर उत्पाद नाम और बंडल आईडी को दो अलग-अलग लक्ष्य सेटिंग्स में अलग करें (ताकि डिवाइस या सिम्युलेटर दो ऐप बंडलों को भ्रमित न करे)।

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

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