2011-09-27 11 views
9

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

उद्देश्य: एक लक्ष्य के साथ एक एकल एक्सकोड परियोजना (सफेद-लेबल सोचें) को 1 में बनाया जाना चाहिए। न्यूनतम उपयोगकर्ता इंटरैक्शन और न्यूनतम तकनीकी ज्ञान के साथ विभिन्न स्वाद (ठोस ब्रांडिंग)। AdHoc और/या AppStore के लिए।

मूलतः

, कि बिल्ड प्रति निर्दिष्ट करने का मतलब होगा; एक फ़ोल्डर जिसमें आइकॉन + स्प्लैशस्क्रीन है, जिसमें ब्रांड विशिष्ट संसाधन युक्त एक बंडल है और (अनुमानतः?) Info.plist, ऐपनाम, बंडल-आईडी, आदि निर्दिष्ट करना

जिन मुद्दों को सम्मानित या स्पष्ट करने की आवश्यकता है;

    बेवकूफ-प्रूफ जीयूआई के माध्यम से एक ब्रांड के
  • मैनुअल निर्माण (एक Git शाखा/टैग चुनते हैं, एक निश्चित ब्रांड निर्दिष्ट करते हैं, अनुप्रयोग जैसे कॉन्फ़िगर आईएपी-सक्षम, सर्वर-domainname, आदि - करने के लिए लिखा जाएगा info.plist)
  • पिछले मैन्युअल परीक्षणों में, में निष्पादन योग्य नाम सेट करने पर प्लिस्ट काम नहीं करता था? क्षमा करें, सही समस्या भूल गई है .. शायद केवल एक एक्सकोड डीबग buildconfig समस्या थी, वितरण वितरण के लिए प्रासंगिक नहीं है?
  • कोड-साइनिंग?!? क्या प्रोफाइल ऑन-द-फ्लाई निर्दिष्ट किया जा सकता है? कुछ ब्रांडों को ग्राहक के प्रोफ़ाइल के साथ बनाया जाना चाहिए।

मेरी व्यक्तिगत भावना: हडसन या क्रूज़ कंट्रोल + एक्सकोड प्लगइन।

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

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

तो सवाल, मूल रूप से है क्या प्राथमिकता दी जाती है; एक क्लासिक सर्वर आधारित, संस्करण नियंत्रण एकीकृत, सीआई दृष्टिकोण या एक कस्टम ओएसएक्स उपयोगिता?

जो भी हम इसके लिए जाते हैं, वह निश्चित रूप से इसे प्राप्त करने और 2 या 3 दिनों (निश्चित रूप से एक सप्ताह से भी कम समय में) चलाने की आवश्यकता होगी।

+1

मैं भी इस तरह कुछ ढूंढ रहा हूं। क्या तुम्हें कभी कोई हल मिला? –

उत्तर

0

IMHO आप XCode के विभिन्न लक्ष्यों का उपयोग करके सभी मुद्दों को हल कर सकते हैं।

हर लक्ष्य कोड साझा करेंगे, लेकिन यह कर सकता है:

  • विभिन्न के साथ हस्ताक्षर करने जा प्रोफाइल
  • उपयोग विभिन्न plist: यह संकेत मिलता है अलग-अलग नामों होने ..
  • उपयोग विभिन्न ब्रांड छवि। आपको केवल उसी नाम के साथ छवि का नाम देना होगा और फ़ाइल इंस्पेक्टर में सही लक्ष्य का चयन करना होगा।
  • एक्सकोड में एक क्लिक के साथ बनाएँ।

मुझे आशा है कि इस

0

एक बेहद उनका उत्तर बाद में मदद करता है, लेकिन दृष्टिकोण मैं ले जाएगा सफेद लेबल आईपीए बनाने के लिए, और उसके बाद करने के लिए एक स्क्रिप्ट बनाने होगा: 1. इसे अनज़िप (बदल जाते हैं। आईपीए फ़ाइल एक्सटेंशन .zip)। 2. संपत्ति बदलें। info.plist अपडेट करें (Plistbuddy कमांड का उपयोग करके) इसे दोबारा ज़िप करें। कोड इस्तीफा दे। https://gist.github.com/catmac/1682965

+0

यदि आपके पास केवल कुछ सफेद लेबल परियोजनाएं हैं, तो आप प्रत्येक बार एक नया लक्ष्य बनाकर कहीं और दृष्टिकोण का उल्लेख कर सकते हैं। हालांकि, यह बड़ी संख्या में लक्ष्यों के साथ अनावश्यक हो सकता है। – Ronan

0

बहुत देर से इस सवाल का जवाब:

एक प्रारंभिक बिंदु के रूप में इस स्क्रिप्ट देखें। लेकिन मैं अलग-अलग .xcconfig फाइलों और कई योजनाओं के साथ जाऊंगा। योजना नाम target/brand का संयोजन हो सकता है।

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