2012-01-05 5 views
5

के लिए सेटिंग्स बंडल ठीक है मैं एक ऐप विकसित कर रहा हूं जिसमें दो और सेटिंग्स देव और लाइव हैं। क्या ऐप लाइव है या अभी भी विकास में है या नहीं, इस पर निर्भर करने के लिए कि कौन सी सेटिंग्स का उपयोग किया जाना चाहिए या क्या मुझे लाइव सेटिंग्स से पहले पूरी सेटिंग्स फ़ाइलों को बदलना है।आईफोन ऐप

मुझे यह सुनिश्चित करने के बारे में अनिश्चित था कि अगर आपको यह सुनिश्चित न हो कि आप निश्चित रूप से पूछें।

+0

@ डाउनवॉटर यदि आपने डाउनवोट के लिए उपयुक्त समझा है तो कृपया टिप्पणी छोड़ दें क्यों, और यदि आप हम हैं मेरे सभी सवालों में कई डाउनवॉट्स कर रहे हैं कृपया कारण भी छोड़ दें। – Popeye

उत्तर

7

आप जो करना चाहते हैं वह आपके निर्माण कॉन्फ़िगरेशन के आधार पर प्रीप्रोसेसर मैक्रो को परिभाषित करना है। तो यदि आपके पास देव नामक एक निर्माण कॉन्फ़िगरेशन है और जिसे लाइव कहा जाता है तो आप देव और लाइव के लिए एक अलग मान परिभाषित करेंगे।

इसे लागू करने के लिए अपने ऐप्स में एक्सकोड में सेटिंग्स बनाएं और "प्रीप्रोसेसर मैक्रोज़" खोजें। प्रत्येक निर्माण लक्ष्य के लिए एक मैक्रो जोड़ें।

देव के लिए आप जोड़ सकते हैं:

APP_CONFIG=0 

और लाइव के लिए आप जोड़ सकते हैं:

APP_CONFIG=1 

फिर अपने कोड में आप एक सरल अगर द्वारा देव के बीच भेद और विन्यास का निर्माण रहते हैं करने में सक्षम हैं कथन:

#if APP_CONFIG == 0 
    NSLog(@"This is the dev build."); 
#else 
    NSLog(@"This is the live build."); 
#endif 
+0

+1 यह। यह आपके कोड में डिबगिंग नियंत्रण जोड़ने का सबसे अच्छा तरीका है। उत्पादन-स्तर कोड से अपर्याप्त लॉगिंग और ऐसी अन्य चीजों को हटाने के लिए आपको NSLog को अधिभारित करने के लिए इसका उपयोग करना चाहिए। – Hyperbole

+1

ठीक है तो अब यह काम करता है यह देव और लाइव के बीच अंतर करता है लेकिन मैं इसे सही सेटिंग्स बंडल का चयन करने के लिए कहां रखूंगा। क्या मैं इसे AppDelegate.m में रखूंगा और यदि ऐसा है तो abouts? – Popeye

+0

@ पोपी: क्या आपको इस समस्या का कोई समाधान मिला? मैं इसी तरह की स्थिति में हूं जहां मुझे DEV या PROD बिल्डों के आधार पर सही सेटिंग बंडल चुनने की आवश्यकता है। मैं बिल्डों के बीच अंतर कर सकता हूं लेकिन सही सेटिंग्स बंडल को पास करने के लिए कोई सुराग नहीं है। – Abhinav