आप यह कर सकते हैं, लेकिन इसके लिए कुछ मामूली एक्सकोड हैकिंग और कुछ बलिदान की आवश्यकता है। "आईओएस 6 का समर्थन करें" द्वारा आपके मतलब के आधार पर, यह आपके लिए पर्याप्त हो सकता है या नहीं भी हो सकता है। यदि आप बस अपने ऐप को आईओएस 6 पर चलाना चाहते हैं, तो यह काम करना चाहिए। यदि आपको नई आईओएस 6 सुविधाओं को शामिल करने के लिए अपने ऐप की भी आवश्यकता है, तो यह नहीं होगा।
(जो दूसरों Xcode के कई संस्करण का उपयोग कर एक समस्या नहीं है के लिए ध्यान दें: this similar question जवाब है कि आप भी नए iOS 6 API का उपयोग और सीधे लक्षित armv7s करने की अनुमति है है)
See basic instructions on chpwn's blog here (लेकिन नीचे दिए गए बाकी को भी पढ़ें!)
असल में, आप आईओएस 4 और उसके बाद के संस्करण के लिए एक्सकोड 4.5 का उपयोग कर सकते हैं, लेकिन फिर आप केवल नए आईओएस 6 का लाभ नहीं उठा सकते हैं। तो, आप वास्तव में आईओएस 4 और 5 के लिए निर्माण कर रहे हैं, और यह मानते हुए कि ऐप आईओएस 6 पर ठीक होगा (जो सच होना चाहिए, लेकिन आपको इसे स्वयं जांचना होगा)।
आप एक पुराने Xcode स्थापना (जो आप कुछ समय के लिए चारों ओर रखने के लिए, या एक गैर मानक स्थान पर पुनर्स्थापित करने के लिए की आवश्यकता होगी) से iOS 5 एसडीके फ़ोल्डर की प्रतिलिपि करने
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.*.sdk
की आवश्यकता होगी। इसके बाद आप को अपनी बिल्ड सेटिंग्स में आईओएस 4.0 (या जो भी न्यूनतम ओएस आप चाहते हैं) में लक्ष्य पर सेट करें। आप इस मैन्युअल रूप से सेट करने के लिए एक पाठ संपादक में project.pbxproj
फ़ाइल खोलने के लिए आवश्यकता हो सकती है:
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
तुम भी armv6
और armv7
को आर्किटेक्चर सेट करना होगा। आप सीधे भी लक्ष्य armv7s
नहीं कर सकते हैं। लेकिन, इसका मतलब यह नहीं है कि आपका ऐप आईफोन 5 पर नहीं चलेगा। armv7
निष्पादन योग्यों को armv7s
में जोड़े गए किसी भी अनुकूलन के बिना, आईफोन 5 पर चलाना चाहिए। यह सिर्फ इतना है कि संगतता दूसरी दिशा में काम नहीं करती है (उदा। armv7
निष्पादन योग्य armv6
आईफ़ोन 3 जी पर नहीं चलते हैं)।
वहाँ भी एक कदम है कि आवश्यक हो सकता है नहीं chpwn के ब्लॉग में बताया गया है कि। आप इन चेतावनियों मिल सकता है (जो वास्तव में त्रुटियाँ हैं, क्योंकि Xcode ठीक से अपने निष्पादन योग्य उत्पन्न नहीं करेगा):
चेतावनी: फ़ाइल पर कार्रवाई करने प्रकार sourcecode.c की '$ (PROJECT_DIR) /main.m' कोई नियम वास्तुकला ARMv6
आदेश इसे ठीक करने में के लिए .objc, आप सेटअप करने के लिए अपने लक्ष्य के लिए एक कस्टम बिल्ड नियम कि LLVM जीसीसी 4.2 उपयोग करने के लिए ARMv6 कोड उत्पन्न करने के लिए Xcode बताता है की आवश्यकता होगी।पैटर्न *.[mc]
मिलान फ़ाइलों के लिए नियम निर्धारित करें:
यह Xcode डिफ़ॉल्ट से एक अलग संकलक हो जाएगा, और आप अपने ऑब्जेक्टिव-सी कोड में वाक्य रचना के कुछ समायोजित करने की आवश्यकता हो सकती है। हालांकि कई लोग ऐसा करना चाहते हैं, शायद एआरसी से पहले अपने ऐप्स लिखे, यह ध्यान रखना महत्वपूर्ण है कि LLVM gcc 4.2 does not support ARC।
अंत में, आप शायद अभी भी आईओएस के बारे में एक्सकोड से 4.3 से कम लक्ष्य को तैनात करने के बारे में चेतावनियां देखेंगे, और armv6
समर्थित नहीं है। उन, मैंने पाया, समस्या नहीं थे, और ध्यान नहीं दिया जा सकता है:
मेरे ऐप निष्पादन पर lipo -info
चल रहा है के बाद यह वांछित परिणाम दिखाता है:
lipo -info MyAppName
Architectures in the fat file: MyAppName are: armv6 armv7
बहुत धन्यवाद, आपने मेरी शाम को बनाया! मैं chcwn द्वारा आलेख का उपयोग कर एक्सकोड के साथ संघर्ष कर रहा था, लेकिन बिना किसी किस्मत के –
क्या होगा यदि मेरे पास * .mm हैं, तो मैं *। [Cm] वाक्यविन्यास में उनको कैसे शामिल करूं? धन्यवाद – malhal
@indiekiduk, मैं वास्तव में अपने आईओएस प्रोजेक्ट्स में सी ++ का उपयोग नहीं करता, लेकिन मुझे लगता है कि आप केवल ** नियम बनाएं ** * एक दूसरी बार * कर सकते हैं, और इस बार, '* के लिए निर्माण नियम को परिभाषित करें .mm', एलएलवीएम जीसीसी 4.2 कंपाइलर को इंगित करता है। – Nate