2011-10-21 15 views
13

जोड़ने के लिए कैसे मैं अपने एक्सकोड प्रोजेक्ट में एक नया लक्ष्य जोड़ने की कोशिश कर रहा हूं ताकि मैं एक ही ऐप चला सकूं, लेकिन सूक्ष्म अंतर के साथ।नया आईफोन लक्ष्य

कृपया कोई नया लक्ष्य स्थापित करने के माध्यम से मुझे मार्गदर्शन कर सकता है क्योंकि यह मेरा पहला समय है और मुझे यकीन नहीं है कि इसे करने के बारे में कैसे जाना है।

विशेष रूप से, मुझे दिलचस्पी है कि मैं मूल ऐप में कोड को नया लक्ष्य कैसे चलाता हूं। जब मैंने एक नया लक्ष्य बनाने की कोशिश की तो उसने एक नया ऐप प्रतिनिधि बनाया, और कंट्रोलर फ़ाइल देखें।

क्षमा करें अगर यह आसान है, तो मैं काफी उलझन में हूं।

संपादित करें: कृपया ध्यान दें कि मैं Xcode 4.

उत्तर

23

एक्सकोड 4 में, सुनिश्चित करें कि आप फ़ोल्डर दृश्य में हैं जहां आपके पास प्रोजेक्ट है। नीली प्रोजेक्ट बटन का चयन करें, उसके बाद आप Targets देख सकते हैं, अपने पास मौजूद लक्ष्य का चयन करें, & पर क्लिक करें duplicate target का चयन करें।

अब आपके पास दो निर्माण लक्ष्य हैं।

अपने ऐप में सूक्ष्म अंतर लागू करने के लिए, वैश्विक सी ध्वज बनाएं। Build settings में GCC 4.2 - Language नामक एक अनुच्छेद है, इसकी संपत्ति Other C Flags है। इसलिए जैसे यहां अपना ध्वज जोड़ें:

-DOTHER_VER 

अब अपने कोड में आप इस का उपयोग कर के लिए जाँच कर सकते हैं:

#ifdef OTHER_VER 
    // some code. 
#else 
    // the subtle difference. 
#endif 
+0

आपकी मदद के लिए धन्यवाद। जब मैं लक्ष्य को डुप्लिकेट करता हूं तो यह 'लक्ष्य प्रतिलिपि' के साथ आता है, क्या पूरे प्रोजेक्ट में इसका नाम बदलने का कोई तरीका है उदा। 'लक्ष्य प्रो'? –

+2

हां, बिल्ड सेटिंग्स के तहत उत्पाद नाम नामक एक संपत्ति है। – Wolfert

4

में आधारित निर्देश के बाद के बाद कर रहा हूँ अगर मैं तुम्हें सही ढंग से समझ, this article आप जो खोज रहे हैं है।

+0

आपकी मदद के लिए धन्यवाद। यह वही है जो मैं बाद में हूं, हालांकि मैं एक्सकोड 4 का उपयोग कर रहा हूं, क्या आप एक्सकोड 4 में आधारित किसी भी ट्यूटोरियल के बारे में जानते हैं? –

+0

हालांकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (http://meta.stackexchange.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। –

+0

मैं निर्देशों का पालन कर रहा हूं, लेकिन ऐसा लगता है कि लक्ष्य डुप्लिकेट एक ही info.plist फ़ाइल साझा करता है। मैं इसे मैन्युअल रूप से डुप्लिकेट करता हूं, और प्रत्येक प्लिस्ट फ़ाइल को इसके संबंधित लक्ष्य पर असाइन करता हूं, लेकिन वे स्वतंत्र नहीं लगते हैं। जब मैं उनमें से एक को बदलता हूं और फिर निर्माण करता हूं, तो अन्य लोगों को निष्पादन योग्य फ़ाइल नाम सहित एक ही सेटिंग मिलती है, इसलिए स्रोत कोड को डुप्लिकेट किए बिना उसी कोड बेस से दो अलग-अलग ऐप्स बनाने का कोई तरीका नहीं है। –

2

आप अपने प्रोजेक्ट की सेटिंग से अपना नया लक्ष्य बनाने के बाद, आप एक पहचानकर्ता वर्ग बना सकते हैं लक्ष्य की जांच करने के लिए। यदि आप अपने कोड में हर जगह मैक्रोज का उपयोग करते हैं, तो यह पठनीय और व्यवहार्य नहीं होगा। यह जानने के लिए कि आप इसे कैसे करें, इसके अलावा this tutorial-blog देख सकते हैं, इसके अलावा आप वहां कुछ सर्वोत्तम अभ्यास देख सकते हैं।

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