आपको क्या करने की जरूरत है सिर्फ सेट किया गया है ONLY_ACTIVE_ARCH
करने के लिए NO
(मेरे लिए कम से कम काम करता है)। नीचे इसके लिए एक स्क्रीनशॉट है:
संपादित करें:
जहां तक मुझे पता है ( कृपया इसे इंगित करें कि क्या कुछ गलत है, धन्यवाद ), यदि आप सेट ONLY_ACTIVE_ARCH
करते हैं YES
, तो इसका मतलब है कि एक्सकोड केवल सक्रिय आर्किटेक्चर के लिए निर्माण करेगा (जो उस डिवाइस को संदर्भित करता है जो वर्तमान में एक्सकोड में सक्रिय है)। लगता है Xcode की डिफ़ॉल्ट सेटिंग डीबग के लिए सेट है YES
, इसलिए यह अन्य आर्किटेक्चर के लिए बायनेरिज़ का निर्माण नहीं करेगा जब आप केवल अपने मैक से जुड़े एक विशेष उपकरण के लिए निर्माण करना चाहते हैं।
निर्माण करने में विफल रहने का कारण यह हो सकता है कि, परियोजना आपके द्वारा जुड़े डिवाइस की वास्तुकला का समर्थन नहीं करती है। तो सबसे अच्छा उपाय है कि आप अपने डिवाइस के लिए सही आर्किटेक्चर जोड़ें। नीचे आर्किटेक्चर और समर्थन करने वाले उपकरणों के लिए एक सूची दी गई है:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
तो क्यों "सेट ONLY_ACTIVE_ARCH
करने के लिए NO
" काम करता है? क्योंकि डिवाइस अभी भी बाइनरी को चला सकता है जो आपके द्वारा जोड़े गए सभी आर्किटेक्चर (बिल्ड को पास) के लिए बनाया गया है, लेकिन कुछ प्रदर्शन खो देगा। यह सिर्फ एक त्वरित समाधान है, लेकिन सबसे अच्छा नहीं है।
नोट : आपके द्वारा जितने अधिक आर्किटेक्चर जोड़े गए हैं, उतना बड़ा बाइनरी उत्पन्न होगा। इसलिए अपनी परियोजना के लिए सही आर्किटेक्चर चुनना अच्छा है। ;)