ios - क्या एक्सकोड 5 पर आईओएस 6 एसडीके स्थापित करना संभव है?




xcode ios6 (10)

एक्सकोड 5 में एक वरीयता फलक है जो किसी को आईफोन 6.1 सिम्युलेटर डाउनलोड करने की इजाजत देता है, हालांकि मुझे ऐसी जगह नहीं मिल सकती है जहां यह आईओएस 6 एसडीके डाउनलोड करने की इजाजत देता है, इस प्रकार एक्सकोड 5 के साथ विकसित होने पर सक्रिय एसडीके को आईओएस 6 में सेट करना संभव नहीं है क्या कोई कामकाज है जो एक्सकोड 5 एसडीके स्थापित करने के लिए एक्सकोड 5 की अनुमति देगा?

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

वर्कअराउंड अब आवश्यक नहीं होना चाहिए कि एक्सकोड 5 आम तौर पर उपलब्ध है और आपको एसडीके के पिछले संस्करण डाउनलोड करने की अनुमति देता है।


1 फरवरी से ऐप्पल केवल आईओएस 6 या उससे कम के लिए बनाए गए ऐप को अस्वीकार कर देगा। ऐप्पल से आधिकारिक communication भी यहां है। आईओएस 7 के लिए बेहतर शुरुआत इमारत।

मेरे कथन को स्पष्ट करने के लिए: यदि आप आईओएस 6 या उससे कम के लिए निर्माण करते हैं, तो सेब आपके ऐप को अस्वीकार कर देगा। यदि आप आईओएस 7 के लिए निर्माण करते हैं और सबकुछ कम है, तो इसका मतलब है:

  1. आपको xcode5 का उपयोग करना होगा
  2. आपको कम से कम आईओएस 7 पर तैनाती करनी चाहिए।

ऐप्पल ईमेल की सामग्री मुझ पर बहुत स्पष्ट है

"सुनिश्चित करें कि आपके ऐप्स आईओएस 7 में अभिनव प्रौद्योगिकियों के साथ सहजता से काम करते हैं। 1 फरवरी से शुरू, ऐप स्टोर में सबमिट किए गए नए ऐप्स और ऐप अपडेट एक्सकोड 5 और आईओएस 7 एसडीके के साथ बनाए जाएंगे।"


अन्य उत्तरों में वर्णित एक्सकोड 5 में 6.1 एसडीके को जोड़ना एक कदम है। हालांकि यह अभी भी आईओएस 7 पर चल रहे समस्या को हल नहीं करता है, नए यूआई तत्वों को लिया जाता है, देखें नियंत्रक पूर्ण आकार आदि बनाते हैं।

जैसा कि इस उत्तर में वर्णित है, यूआई को आईओएस 7 पर यूआई को विरासत मोड में स्विच करने की भी आवश्यकता है:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIUseLegacyUI"];
[[NSUserDefaults standardUserDefaults] synchronize];

सावधान रहें: यह एक अनियंत्रित कुंजी है और ऐप स्टोर के निर्माण के लिए अनुशंसित नहीं है!

इसके अलावा, डिवाइस पर परीक्षण करते समय मेरे अनुभव में मैंने पाया कि यह ऐप लॉन्च करने के लिए दूसरी बार काम करता है, भले ही मैं ऐप लॉन्च में काफी जल्दी कोड चला रहा हूं, +[AppDelegate initialize] । एक्सकोड 4.6 का उपयोग करके बनाए गए संस्करण में सूक्ष्म अंतर भी हैं। उदाहरण के लिए, पारदर्शी नेविगेशन बार अलग-अलग व्यवहार करते हैं (दृश्य को पूर्ण आकार के कारण)।

हालांकि, चूंकि मैवरिक्स पर rdar://15318883 4.6.3 क्रैश (कम से कम मेरे लिए, rdar://15318883 ), यह कम से कम एक समाधान है जो rdar://15318883 5 का उपयोग जारी रखने का एक समाधान है।


पुराना एसडीके ढूंढें और डाउनलोड करें। पुराने एसडीके यहां पाए जाते हैं

मैंने xcode_4app निर्देशिका को Xcode_4.6.3.app के रूप में कॉपी किया है।

अब आप दोनों एक्सकोड संस्करणों में परीक्षण और डीबग कर सकते हैं। आपको उन्हें संबंधित फ़ोल्डर से चलाने या अपने डेस्कटॉप में शॉर्टकट बनाने होंगे। कमांड लाइन से निर्माण करते समय iPhoneOS6.1 बजाय iPhoneOS6.1 रूप में पैरामीटर दें

यह Xcode5 और आईओएस में मेरे लिए बहुत अच्छा काम करता है।

एक्सकोड 5 के एसडीके डीआईआर में जाएं। यह आमतौर पर स्थित है:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

इस तरह पुराने एसडीके के लिए एक प्रतीकात्मक लिंक जोड़ें:

sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk

या कमांड लाइन में कहीं से भी अधिक सटीक,

sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk

बस जोड़ने के लिए, आप वास्तव में एक्सकोड 5 के साथ सिम्युलेटर के पुराने संस्करण डाउनलोड कर सकते हैं - बस वरीयताओं पर जाएं और आप उन्हें डाउनलोड के तहत पाएंगे:


मेरा ऐप एक्सकोड 5 पर निर्बाध रूप से परिवर्तित हो गया था क्योंकि यह अभी भी प्रोजेक्ट में सेट किए गए मूल आईओएस परिनियोजन लक्ष्य के साथ बना सकता है (5.1 मेरे मामले में)। यदि नया एसडीके कुछ दुर्बल समस्या का कारण नहीं बनता है, तो इसका उपयोग क्यों न करें? निश्चित रूप से हुड के नीचे कई सुधार हैं।

उदाहरण के लिए, मैं एक्सकोड 4.6.3 के बजाय एक्सकोड 5 का उपयोग करना पसंद करूंगा। क्यूं कर? मुझे बहुत अधिक बैटरी जीवन मिलेगा क्योंकि एक्सकोड 5 में टेक्स्ट / कोड क्षेत्रों की यूआई स्क्रॉलिंग अब पूरे सीपीयू थ्रेड को चबाती नहीं है।


मैं भी वही समस्या चला रहा था जब मैंने एक्सकोड 5 में अपडेट किया था, इसे पुराना एसडीके हटा दिया गया था। लेकिन मैंने किसी अन्य कंप्यूटर से पुराने एसडीके की प्रतिलिपि ली और वही आप निम्न लिंक से डाउनलोड कर सकते हैं।

http://www.4shared.com/zip/NlPgsxz6/iPhoneOS61sdk.html
(www.4shared.com परीक्षण खाता [email protected]/test)

साथ काम करने के 2 तरीके हैं।

1) इस फ़ोल्डर को अनजिप और पेस्ट करें / एप्लिकेशन /Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ डेवलपर / एसडीके और एक्सकोड को पुनरारंभ करें।

लेकिन यदि आप एक्सकोड अपडेट करते हैं तो यह फिर से एक्सकोड द्वारा हटाया जा सकता है।

2) एक और तरीका अनजिप है और पेस्ट करें जहां आप चाहते हैं और / एप्प्लिकेशंस / एक्सकोड.एप / सामग्री / डेवलपर / प्लेटफार्म / आईफोनफोन.प्लाफार्म / डेवलपर / एसडीके पर जाएं और यहां एक प्रतीकात्मक लिंक बनाएं, ताकि एसडीके वही रहेगा आप एक्सकोड अपडेट करें।

एक और परिवर्तन मैंने बनाया, बिल्ड सेटिंग> आर्किटेक्चर> मानक (64 नहीं) तो तैनाती लक्ष्य के सभी संस्करणों को सूचीबद्ध करें

यदि आप केवल तैनाती लक्ष्य को बदलना चाहते हैं तो ज़िप डाउनलोड करने की आवश्यकता नहीं है।

यहां कुछ स्क्रीनशॉट हैं।


मैंने एक्सकोड 4 डाउनलोड किया और आईओएस 6.1 एसडीके को एक्सकोड 5 में ले लिया जैसा कि अन्य उत्तरों में वर्णित है। फिर मैंने आईओएस 6.1 सिम्युलेटर भी स्थापित किया (यह वरीयताओं में उपलब्ध था)। मैंने परियोजना सेटिंग्स में आईओएस 6.1 को बेस एसडीके भी स्विच किया।

इन सभी कुशलताओं के बाद 6.1 बेस एसडीके के साथ परियोजना आईओएस 7 सिम्युलेटर में कॉम्प क्षमता मोड में चलती है।


यहां अन्य उत्तर भी सही हैं, लेकिन मुझे निम्न चरणों को सबसे आसान माना जाता है:

देव केंद्र लिंक से बस एक्सकोड 4.6.3 डाउनलोड करें जो कहता है "एक्सकोड का पुराना संस्करण खोज रहे हैं?" (वर्तमान में यहां बिंदु) और डीएमजी माउंट।

फिर टर्मिनल में, एसडीके फाइलों को कॉपी करें:

cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

अंत में, एक्सकोड पुनः लॉन्च करें और आप कर चुके हैं।


हाँ, मैंने आज समस्या हल कर दी है।

  1. अपने या अपने मित्र की पुरानी एक्सकोड निर्देशिका में, iPhoneOS6.1.sdk जैसी एसडीके फ़ाइल खोजें।
  2. कॉपी करें और इसे एक्सकोड 5 निर्देशिका में डालें: / अनुप्रयोग /Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ डेवलपर / एसडीके।

फिर आप नीचे की तरह एसडीके चुन सकते हैं:

उम्मीद है कि यह आपकी मदद करता है।


यह कर सकते हैं , लेकिन वास्तव में जरूरी नहीं है

यह कैसे करना है

जेसन ली को जवाब मिला। XCode इंस्टॉल करते समय मैंने उन्हें बदलने के बजाए पिछले इंस्टॉलेशन को प्राथमिकता दी। तो मेरे पास इन्हें मेरे इंस्टॉलेशन फ़ोल्डर में है

तो / /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs /Xcode.app/Contents/ डेवलपर /Platforms/iPhoneOS.platform/ डेवलपर / एसडीके में विभिन्न sdks शामिल हैं। (सही संख्या के साथ Xcode.app बदलें) पिछले sdks प्रतिलिपि बनाएँ

/Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

एक कॉपी करने के बाद मेरा फ़ोल्डर यहां है।

अब एक्सकोड को पुनरारंभ करें और आप एसडीके के पिछले संस्करणों को बेस एसडीके के रूप में सेट कर सकते हैं।

यह जरूरी क्यों नहीं है

ऐप्पल डॉक्यूमेंटेशन को रेफर करना

एक एक्सकोड परियोजना के लिए एक विशेष एसडीके का उपयोग करने के लिए, अपने प्रोजेक्ट की बिल्ड सेटिंग्स में दो चयन करें।

  1. तैनाती लक्ष्य चुनें

    यह सबसे पुराना ओएस संस्करण पहचानता है जिस पर आपका सॉफ़्टवेयर चलाया जा सकता है।

  2. आधार एसडीके चुनें

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

नियम बेस एसडीके के रूप में नवीनतम उपयोग करें और चलाने के लिए अनुमानित न्यूनतम संस्करण ऐप पर तैनाती लक्ष्य सेट करें

उदाहरण के लिए आप बेस एसडीके के रूप में आईओएस 7 का उपयोग कर सकते हैं और तैनाती लक्ष्य के रूप में आईओएस 6 सेट कर सकते हैं। आईओएस 6 सिम्युलेटर पर चलाएं यह जांचने के लिए कि यह आईओएस 6 पर कैसे काम करता है। सिम्युलेटर की सूची के साथ उपलब्ध नहीं होने पर सिम्युलेटर इंस्टॉल करें।

Additionaly आप बिना शर्त रूप से आईओएस 6 तक सुविधाओं का उपयोग कर सकते हैं। और सशर्त रूप से आप पिछले संस्करणों का समर्थन करते समय नए अपडेट किए गए उपकरणों के लिए आईओएस 7 की नई सुविधाओं का समर्थन कर सकते हैं।

यह कमजोर लिंक्ड क्लासेस , कमजोर लिंक्ड तरीके , कार्य , और प्रतीकों का उपयोग करके किया जा सकता है

https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/Using/using.html#//apple_ref/doc/uid/20002000-SW3

कमजोर लिंकिंग

मान लीजिए कि एक्सकोड में आपने आईओएस 6 पर तैनाती लक्ष्य (न्यूनतम आवश्यक संस्करण) सेट किया है और लक्ष्य एसडीके (अधिकतम अनुमत संस्करण) को आईओएस 7 पर सेट किया है। संकलन के दौरान, संकलक कमजोर रूप से किसी भी इंटरफेस को लिंक करेगा जो आईओएस 7 में पेश किए गए थे, जबकि पहले इंटरफेस को दृढ़ता से जोड़ते थे। यह आपके एप्लिकेशन को आईओएस 6 पर चलने की अनुमति देगा लेकिन फिर भी उपलब्ध होने पर नई सुविधाओं का लाभ उठाएगा।





xcode5