2011-03-09 15 views
14

के साथ 4.2 संस्करण को लक्षित करने के लिए कैसे मैंने एक्सकोड 4 में अपग्रेड किया है जो एसडीके के 4.3 संस्करण के साथ आता है।एक्सकोड 4

लेकिन हम यह सुनिश्चित करना चाहते हैं कि हमारा ऐप उन डिवाइसों पर चलता है जिनमें 4.2 और बाद में 4.3 नहीं है।

क्या एक्सकोड में कोई सेटिंग है जिसे कॉन्फ़िगर किया जा सकता है, इसलिए हमें अभी तक सभी को अपग्रेड करने की आवश्यकता नहीं है?

उत्तर

26

को प्रभावित है कि जो प्लेटफार्मों आप अनुप्रयोग का समर्थन करेंगे परियोजना सेटिंग्स में दो सेटिंग्स हैं:

  • बेस एसडीके: निर्माण के दौरान बेस एसडीके का नाम या पथ इस्तेमाल किया जा रहा है।
  • परिनियोजन लक्ष्य: कोड आईओएस के इस और बाद के संस्करणों पर लोड होगा।

पहला एसडीके सेट करता है जिसे आप लिंक करते हैं और दूसरा आईओएस संस्करण सेट करता है जो आपका ऐप समर्थन करेगा। यह तैनाती लक्ष्य सेटिंग पर इस नोट को समझना महत्वपूर्ण है:

फ्रेमवर्क एपीआई कि पुराने संस्करणों में उपलब्ध नहीं कमजोर से जुड़े हो जाएगा रहे हैं; नए कोड को कॉल करने से पहले आपके कोड को शून्य फ़ंक्शन पॉइंटर्स या विशिष्ट सिस्टम संस्करणों की जांच करनी चाहिए।

तो यदि आप किसी भी एपीआई का उपयोग कर रहे हैं जो केवल 4.3 में मौजूद है, तो सुनिश्चित करें कि वे ढांचे कमजोर-जुड़े हुए हैं और आपका कोड उन एपीआई का उपयोग करने से पहले आईओएस संस्करण की जांच करता है।

+2

आईओएस संस्करण की जांच करने के बजाय, अधिकांश समय, नल फ़ंक्शन पॉइंटर्स की जांच करना बेहतर होता है, या उपयोग-संवाददाता चयनकर्ता: आदि – Elliot

+1

मुझे यकीन नहीं है कि यह स्वीकार्य उत्तर क्यों है। मुद्दा यह है कि एक्सकोड 4 में 4.2 के लिए तैनाती लक्ष्य के लिए ड्रॉप डाउन बॉक्स में कोई प्रविष्टि नहीं है, केवल 4.3। इसके अतिरिक्त, एक्सकोड 4 में आयोजक कहता है: "असमर्थित डिवाइस। प्रकार के उपकरण" आइपॉड टच (दूसरी पीढ़ी) "को एक्सकोड के इस संस्करण द्वारा समर्थित नहीं है।" ऐसा लगता है कि ऐप्पल ने इन पुराने उपकरणों के लिए विकास को छोड़ दिया है जिसके लिए 4.2 की आवश्यकता होगी। –

15

आपको हमेशा मूल संस्करण के रूप में बेस एसडीके सेट करना चाहिए, तो निम्नतम समर्थित संस्करण "तैनाती लक्ष्य" सेटिंग द्वारा निर्धारित किया जाता है।

जब तक तैनाती लक्ष्य पर/4.2 नीचे, यह ठीक किया जाना चाहिए करने के लिए सेट है ..

+0

+1 इसे समझाने के लिए धन्यवाद। – pokstad

+0

मैं 'एक्सकोड 4.3.3 (4E3002) 'का उपयोग कर रहा हूं और मैंने' बेस एसडीके 'को' नवीनतम आईओएस (आईओएस 5.1) 'और' परिनियोजन लक्ष्य' ** ** ** पर सेट किया है, हालांकि जब मैं बिल्ड ऐप को तैनात करता हूं मेरे पुराने जेलब्रोकन आइपॉड (** वेर 4.2.1 **) के लिए कुछ भी नहीं होता है। मेरे पास डिवाइस पर आउटपुट बिल्ड को तैनात करने के लिए ऑर्गनाइज़र है, यह कहता है ** info.plist डिवाइस क्षमता आवश्यकताओं को निर्दिष्ट करता है, जो मेरे आईपॉड ** से नहीं मिलते हैं। मैंने ** info.plist' में ** armv6 ** में ** UIRequiredDeviceCapabilities ** को संशोधित किया है और अब यह कहता है ** यह एप्लिकेशन इस डिवाइस के CPU प्रकार ** का समर्थन करता है। कोई उपाय? – anonim