2012-06-14 9 views
5

मैं अपने आईओएस ऐप को अनुकूलित करने के लिए सबसे अच्छा तरीका ढूंढ रहा हूं ताकि हम आसानी से सफेद लेबल संस्करण बना सकें और उन्हें सभी सिंक में रख सकें।सफेद लेबल ऐप्स के लिए आईओएस स्थिर लाइब्रेरी कोडबेस

एक दृष्टिकोण संपूर्ण कोडबेस को स्थिर लाइब्रेरी प्रोजेक्ट में रखना है। फिर हमारे मुख्य ऐप और प्रत्येक श्वेत लेबल एप के लिए एक अलग परियोजना बनाएं। इन परियोजनाओं में प्रत्येक को उप-प्रोजेक्ट के रूप में कोडबेस पुस्तकालय का संदर्भ होगा, और उनकी अपनी संपत्ति जैसे आइकन, लोडिंग छवियां और एक Info.plist फ़ाइल।

मेरे सहयोगी ने एक्लिप्स में हमारी एंड्रॉइड बहन प्रोजेक्ट के साथ इस दृष्टिकोण का सफलतापूर्वक उपयोग किया है।

दुर्भाग्यवश यह दृष्टिकोण xcode में काम नहीं कर सकता है। xcode कुछ संसाधनों को एक स्थिर लाइब्रेरी के साथ बंडल करने की अनुमति नहीं देता है, जैसे सेटिंग्स.बंडल और Localizable.strings जो आवश्यक हैं।

क्या कोई तरीका है कि मैं इस दृष्टिकोण का उपयोग xcode में कर सकता हूं, या क्या मैं प्रत्येक प्रोजेक्ट से कोडबेस फ़ोल्डर का संदर्भ देने से बेहतर हूं?

संपादित करें:

मूल रूप से मैं बस प्रत्येक परियोजना से codebase फ़ोल्डर संदर्भ के लिए योजना बना रहा था, लेकिन पाया गया कि इस दृष्टिकोण होगा की आवश्यकता होती है फिर से जोड़ने हर परियोजना में codebase निर्देशिका हर बार एक फ़ाइल जोड़ दिया गया/हटाया/कोडबेस में बदल दिया गया।

उत्तर

4

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

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

आप लक्ष्य-विशिष्ट फ़ाइलों को काफी सीमित रख सकते हैं। मेरे पास एक सामान्य xcassets फ़ाइल है और प्रत्येक लक्ष्य के लिए एक है। मेरे पास प्रत्येक लक्ष्य के लिए अलग-अलग plists और कुछ अन्य संसाधन भी हैं। बाकी सब कुछ साझा किया जाता है।

संदर्भ:

+0

धन्यवाद, ऐसा लगता है कि लक्ष्य सबसे अच्छा तरीका होगा। – RohinNZ

2

आप कर सकते हैं स्वचालित रूप से एक स्थिर पुस्तकालय के साथ बंडल संसाधन नहीं है, लेकिन वहाँ हाथ से साझा संसाधन सहित से रोक कुछ भी नहीं है। आप कस्टमाइज्ड प्रोजेक्ट के लिए वर्कस्पेस बना सकते हैं, लाइब्रेरी प्रोजेक्ट को वर्कस्पेस में डालें और फिर संसाधन समूह को लाइब्रेरी के प्रोजेक्ट ट्री से मुख्य प्रोजेक्ट में खींचें।

3

एक भुगतान परामर्श परियोजना के रूप में, मैं एक कंपनी की सफेद लेबल रणनीतियों की समीक्षा कर रहा हूं। उन्होंने .sh फ़ाइल की एक श्रृंखला बनाई है जो पूरे निर्माण को नए नाम में कॉपी करता है - जिसमें एक नया .plist और प्रोजेक्ट फ़ाइल शामिल है।

उन ऐप्स के संस्करण का संस्करण उनके लिए क्या नहीं था; इसलिए, मुझे लगता है कि यदि आप अपना ऐप बना सकते हैं तो पुस्तकालय सबसे अच्छा तरीका है। यह पूरी तरह संभव है कि आप एक ही सफेद लेबल एप्लिकेशन के कई संस्करण हो सकता है। (सबसे अच्छा एक दुःस्वप्न !!! एलओएल)

एक और चीज जिसे आप देखना चाहते हैं कोकोपोड्स है। मैंने इसका इस्तेमाल नहीं किया है, लेकिन मेरे पास ऐसे दोस्त हैं जिनके पास है - वे इसे पसंद करते हैं क्योंकि यह lib प्रबंधन में मदद करता है - खासकर एक देव पर्यावरण से दूसरे में जाने के साथ।मुझे अगले महीने इसका उपयोग ज़ेक्सिंग पथ गड़बड़ की वजह से करने की ज़रूरत है कि हर किसी के साथ सौदा हो।

https://github.com/CocoaPods/CocoaPods

अंतिम सिफारिश - स्रोत नियंत्रण का उपयोग नहीं कल वहाँ की तरह !!!

+1

कोकोपोड्स शानदार लग रहा है! पॉड लाइब्रेरी में प्रत्येक श्वेत लेबल निर्माण लक्ष्य को लिंक करके, अब मुझे लाइब्रेरी को जोड़ने या निकालने पर हर एक सफेद लेबल निर्माण लक्ष्य को मैन्युअल रूप से अपडेट करने की चिंता करने की आवश्यकता नहीं है। धन्यवाद! – RohinNZ

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