2012-01-23 21 views
15

मुझे अपने iOS परियोजना में तीन विन्यास है: विन्यास निर्भर मूल्य

  • रिलीज
    1. डीबग
    2. Adhoc

    अब मैं का नाम बदलना चाहते हैं ऐप निम्नानुसार है:

    1. MyAppDebug
    2. MyAppAdhoc
    3. MyApp (ध्यान दें कि यह एक एक प्रत्यय नहीं है)

    वहाँ एक रास्ता मैं आसानी से के कुछ प्रकार के साथ Xcode में इस लक्ष्य को हासिल कर सकते हैं "संकलक अगर-बाकी-मैक्रो सब कुछ "?

    +0

    [कोड कोड से तीन अलग-अलग ऐप्स] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/8956263/three-slightly-different-apps-from-one-code-base) – Besi

    उत्तर

    29
    • बदलने प्रदर्शन नाम एक तरह से प्राप्त करने के लिए इस है कि आप एक ही जानकारी plist फ़ाइल का उपयोग करके है।

      1. उपयोगकर्ता परिभाषित चर बनाएँ। लक्ष्य परियोजना फ़ाइल पर क्लिक करें।
      2. फिर नीचे दाएं कोने में बटन खोजें "+" बिल्ड सेटिंग जोड़ें।
      3. उस बटन पर क्लिक करें "बिल्ड सेटिंग जोड़ें" पर क्लिक करें और "उपयोगकर्ता-परिभाषित सेटिंग" का चयन करें "नई सेटिंग के लिए नाम दर्ज करें:" BUNDLE_DISPLAY_NAME "।
      4. इसके तहत कॉन्फ़िगरेशन देखने के लिए इस नई सेटिंग का विस्तार करें। वांछित नाम प्रत्येक विन्यास के लिए प्रदर्शित करने के लिए दें। पूर्व के लिए: डीबग -> MyAppDebug

    भाग 2:

    1. अपने APPNAME-Info.plist फ़ाइल का चयन करें।
    2. जानें कुंजी "बंडल प्रदर्शन नाम" और मूल्य के लिए यह इस नए परिभाषित चर $ {BUNDLE_DISPLAY_NAME}

    फिर उपयुक्त विन्यास के लिए यह नाम BUNDLE_DISPLAY_NAME चर से निर्माण सेटिंग में चुन लिए जाएँगे उपयोगकर्ता होना चाहिए।

    +0

    यह एक अच्छा जवाब है।ऐप के 2 संस्करण (रिलीज/प्रोडक्शन) को बनाए रखने वाले किसी भी व्यक्ति के लिए यह जानकारी का एक बहुत ही मूल्यवान टुकड़ा है। – polterfest

    +0

    यह करने का यह सबसे अच्छा तरीका है। – Jon

    4

    निश्चित रूप से। सबसे पहले आपको अलग-अलग Info.plist फ़ाइल को प्रत्येक कॉन्फ़िगरेशन बनाना होगा। फिर आप में प्रोजेक्ट की बिल्ड सेटिंग्स उस पंक्ति को ढूंढती हैं जहां Info.plist रखा गया है, उस पंक्ति का विस्तार करें और आपके पास प्रत्येक कॉन्फ़िगरेशन के लिए अलग Info.plist फ़ाइल चुनें। फिर आप प्रत्येक info.plist फ़ाइल में संबंधित फ़ील्ड में वांछित नाम दर्ज कर सकते हैं। यही कारण है कि यह :) संबंधित विन्यास * के लिए एप्लिकेशन के

    +1

    क्या यह संभव है ऐसा करें, लेकिन प्रत्येक plist के लिए सभी मूल्यों को दोहराने की जरूरत नहीं है? या शायद मुख्य प्लिस्ट में एक कुंजी का मान गतिशील रूप से कॉन्फ़िगरेशन प्लिस्ट से मेल खाता है? – farski

    +0

    हां, उपयोगकर्ता द्वारा परिभाषित बिल्ड सेटिंग बनाएं, फिर उस कॉन्फ़िगरेशन के आधार पर जिसे आप बना रहे हैं, उस मान का उपयोग करें। – ganders

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