प्रश्न - लघु संस्करण:कमांड लाइन से आईपीए बनाते समय मेरी बिल्ड चरण स्क्रिप्ट निष्पादित क्यों नहीं की जाएंगी?
क्यों अपने निर्माण कमांड लाइन से एक आईपीए बनाते समय क्रियान्वित किया जा phase scripts
नहीं होगा? जब मैं आईपीए बनाने के लिए xcodebuild
चला रहा हूं तो पूर्व निर्धारित चरण चरण स्क्रिप्ट निष्पादित नहीं किया जाता है। ऐसा क्यों है?
प्रश्न - लंबा संस्करण:
मैं एक योजना मैं कमांड लाइन से एक आईपीए से बाहर बनाना चाहते हैं के साथ एक कार्यक्षेत्र है।
यह एक चीज़ को छोड़कर ठीक काम करता है; मेरे पास लक्ष्य के निर्माण चरणों में दो स्क्रिप्ट हैं जिनका उपयोग सही ऐप संस्करण (CFBundleShortVersionString
) और सही svn संशोधन संख्या (CFBundleVersion
) डालने के लिए किया जाता है। स्क्रिप्ट के लिए यह xcode से संग्रह करते समय ठीक काम करता है लेकिन किसी कारण से वे कमांड लाइन से संग्रह करते समय दौड़ नहीं पाते हैं। सबसे पहले वह क्यों है?
यहाँ स्क्रिप्ट है कि काम कर रहे हैं कर रहे हैं (यदि संग्रह प्रपत्र Xcode)
जब संग्रह और कमांड लाइन मैं करता हूँ (अनिवार्य) से आईपीए बनाने
# Building
xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release clean build
# Creating IPA
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${IPA_OUTPUT_PATH}/${APPLICATION_NAME}.ipa"
यह काम करता है और एक आईपीए बनाता है लेकिन बिल्ड चरण स्क्रिप्ट्स में से कोई भी संशोधन संख्या और संस्करण संख्या दोनों को छोड़कर निष्पादित हो जाता है।
सभी सुझावों की सराहना की जाती है!
अद्यतन BDASH के जवाब के कारण
इसके बजाय एक साफ निर्माण बनाने का मैं एक पूर्वनिर्धारित स्क्रिप्ट
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
के रूप में तथ्य में निष्पादित किया जाएगा (परियोजना संस्करण संख्या में देखा जा सकता स्थापित करना) स्थापित करने के दौरान कोई त्रुटि के साथ। हालांकि बनाए गए आईपीए का आकार ~ 300 बाइट्स (~ 10 एमबी के बजाय) होगा और डिवाइस पर इंस्टॉल नहीं किया जा सकता है।
यह स्थापित करने से पहले एप्लिकेशन बिल्डिंग, अर्थात
# Building
xcodebuild clean build ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
# Installing
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
और फिर बनाने आईपीए निष्पादित संस्करण स्क्रिप्ट के साथ एक आईपीए में और सही आकार लेकिन की यह एक डिवाइस पर स्थापित संभव नहीं है परिणाम देगा। इसे किसी डिवाइस पर डालने का प्रयास करने से त्रुटि संदेश मिलेगा
"प्रोग्राम" MyApp "आपके लिए आईफोन डिवाइस" माई डिवाइस "पर स्थापित नहीं था क्योंकि एक अज्ञात त्रुटि आई है।"
मुझे लगता है कि यदि आप कमांडलाइन से निर्माण कर रहे हैं, तो 'xcodebuild' यह भी मानता है कि आप स्वयं स्क्रिप्ट निष्पादित कर रहे हैं। मुझे एक बग की तरह लगता है। –
क्या आप वास्तव में अंततः समाधान प्राप्त करते थे? – fatuhoku