2009-03-25 9 views
5

जब आप एक नया आईफोन प्रोजेक्ट बनाते हैं तो नवीनतम एक्सकोड और एसडीके 3.0 बीटा के साथ, एक्सकोड एक एसडीके 3.0 प्रोजेक्ट बनाता है। अगर मैं प्रोजेक्ट बनने के बाद एसडीके 2.2.1 पर वापस जाना चाहता हूं, तो मुझे जेनरेट की गई सोर्स कोड फाइलों में कुछ बदलना होगा क्योंकि कुछ एपीआई बदल गए हैं। क्या एसडीके के स्पष्ट रूप से उपयोग करना चाहते हैं, परियोजना निर्माण समय पर निर्दिष्ट करने का कोई आसान तरीका है?मैं प्रोजेक्ट निर्माण समय पर निर्दिष्ट एक आईडी प्रोजेक्ट को एक्सकोड में कैसे बना सकता हूं जिसे मैं उपयोग करना चाहता हूं?

अग्रिम

उत्तर

3

मैं विशेष रूप से आईडीडी एसडीके 3.0 पर टिप्पणी नहीं कर सकता क्योंकि यह एनडीए के तहत कवर किया गया है; devforums.apple.com पर प्रकट डेवलपर्स के लिए एक मंच है। लेकिन रोजर नोलन आधे दाएं और आधा गलत है। उसमें वह आधा अधिकार है जब कोई एसडीके अपडेट किया जाता है, उस एसडीके में उदाहरण और टेम्पलेट्स इसका शोषण करने के लिए अपडेट किए जाते हैं। यही है, टेम्पलेट्स विशेष रूप से उस एसडीके में नए एपीआई का उपयोग कर सकते हैं, और कोड शायद सादे पहले ही एसडीके के साथ काम नहीं कर सकता है।

यह कहा गया है कि आप पहले से एसडीके से प्रोजेक्ट टेम्पलेट्स को सहेज सकते हैं और उन्हें एक्सकोड के बाद के संस्करणों के उपयोग के लिए स्थानीय निर्देशिका (जैसे ~/लाइब्रेरी/एप्लिकेशन सपोर्ट/डेवलपर/साझा/एक्सकोड/प्रोजेक्ट टेम्पलेट्स) में स्थापित कर सकते हैं। प्रोजेक्ट टेम्पलेट प्रारूप स्वयं नहीं बदला है; टेम्पलेट्स आगे और पीछे संगत होना चाहिए, लेकिन सामग्री टेम्पलेट्स को आमतौर पर एसडीके संस्करण में बंद कर दिया जाता है जो इसे बाद में और बाद में भेजता है।

श्री नोलन बाद के एसडीके के साथ पुराने ओएस संस्करणों के खिलाफ निर्माण के बारे में आधा गलत है। यही कारण है कि पहले के एसडीके पैकेज बाद के वितरण के साथ प्रदान किए जाते हैं (वे सिर्फ डाउनलोड को अधिक समय तक नहीं लेते हैं)। आप तैनाती लक्ष्य निर्माण सेटिंग सेट करके पुराने ओएस संस्करणों के साथ एक नए एसडीके के साथ तैनात कर सकते हैं।

इसमें मामूली जानकारी है कि आपको शायद प्री-प्रोडक्शन टूलचेन द्वारा उत्पादित उत्पादन अनुप्रयोगों को तैनात नहीं करना चाहिए। लेकिन एक बार संस्करण एन आधिकारिक तौर पर जारी किया गया है, तो आप एन-1, एन -2, आदि के निर्माण के लिए अपने टूलचेन का उपयोग करने में सक्षम होना चाहिए।

+0

मैंने मंच की जांच की, क्योंकि मैं एक आधिकारिक (भुगतान) आईफोन डेवलपर हूं, लेकिन इससे संबंधित कुछ भी नहीं मिला। मैं टेम्पलेट से संबंधित कहानी जानता हूं, लेकिन यह एक हैक है: मैं इसके बजाय एक आधिकारिक समाधान के लिए पूछ रहा था, कामकाज नहीं। –

+0

मुद्दा यह है कि आप एनडीए मंच में आईफोन एसडीके के एनडीए संस्करणों के बारे में * पूछ सकते हैं * और सामान्यताओं की बजाय उन्हें सीधे उत्तर प्राप्त कर सकते हैं। सामान्य उत्तर 1) पुराने टेम्पलेट का उपयोग करें; 2) नए टेम्पलेट्स को संपादित करें, या 3) एक नई परियोजना बनाते समय बेस एसडीके बदलें। – cdespinosa

+0

3.0 एसडीके अब बाहर है। यह जवाब पुराना है। – Neo42

2

में धन्यवाद बशर्ते कि आप 3.0 एपीआई में किसी भी नई सुविधाओं का उपयोग नहीं कर रहे हैं, तो आप अपने Xcode प्रोजेक्ट विंडो के ऊपरी बाएँ कोने पर ड्रॉप डाउन मेनू से सक्रिय एसडीके का चयन करने में सक्षम होना चाहिए । बस "डिवाइस - 2.2.1" या "सिम्युलेटर - 2.2.1"

+0

ध्यान दें कि यह प्रोजेक्ट सेटिंग नहीं बदलता है, बल्कि केवल सक्रिय कॉन्फ़िगरेशन। हालांकि, यह अभी भी एक व्यक्ति की दुकानों के लिए एक वैध विकल्प है। –

+0

हां, मुझे पता है, लेकिन यह समस्या को हल नहीं करता है: एक बार बनाया गया है, जेनरेट की गई फ़ाइलों में अभी भी 3.0 एपीआई हैं, जिन्हें 2.2.1 –

1

एक्सकोड नवीनतम एसडीके स्थापित करने के लिए डिफ़ॉल्ट है, और मुझे उस व्यवहार को बदलने के लिए किसी भी विधि से अवगत नहीं है।

मैंने प्रोजेक्ट बनाने के ठीक बाद प्रोजेक्ट गुणों में बेस एसडीके 2.0 को सेट करने की आदत बना दी।

+0

के निर्माण के लिए मैन्युअल रूप से बदला जाना चाहिए, इसलिए कोई उम्मीद नहीं है: प्रत्येक बार जब मैं बनाता हूं एक प्रोजेक्ट, मैं हमेशा 2.2.1 के निर्माण के लिए 3.0 केवल एपीआई को हटाने के लिए जेनरेट की गई स्रोत फ़ाइलों को मैन्युअल रूप से संपादित करने की आवश्यकता होगी (श्वास)। यह बहुत बेवकूफ है, और मुझे समझ में नहीं आता कि ऐप्पल ने ऐसा विकल्प क्यों नहीं दिया। –

+0

कौन सी जेनरेट की गई फ़ाइलें जिनमें 3.0 एपीआई हैं, आप इसका जिक्र कर रहे हैं? – sigjuice

+0

@unforgiven: AFAIK, जेनरेट की गई फ़ाइलों में एसडीके-वर्जन-विशिष्ट कोड नहीं है। आपको बस परियोजना सेटिंग बदलने की जरूरत है। –

0

ऐप्पल के अनुसार नहीं है। कैन बर्क गुडर से मेरी पोस्टिंग के लिए टिप्पणियां अन्यथा कहें। मैं उनके उदाहरण का पालन करने का सुझाव नहीं दूंगा - यह एक लॉटरी उम्मीद है कि ऐप्पल यह नहीं देख सकता कि आप क्या कर रहे हैं या आप 3.0 दोष की कमी नहीं करते हैं।

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

यदि आप 3.0 एसडीके का उपयोग करना चाहते हैं तो आप ओएस 2.2.1 के लिए नहीं बनाया जा सकता है और ऐप स्टोर में उस एप्लिकेशन को सबमिट कर सकते हैं - ऐप्पल के दिशानिर्देशों के अनुसार। वे कहते हैं कि आपको 2.2.1 एसडीके भी स्थापित करना होगा और इसके साथ निर्माण करना होगा। आप 2.2 संगत ऐप्स बना सकते हैं लेकिन आप बीटा टूल्स का उपयोग कर रहे हैं जो बग पेश कर सकते हैं।

यह उन चीजों में से एक है जिसे आप बौद्धिक निष्कर्ष के रूप में कर सकते हैं, लेकिन यह वास्तविक ऐप के जोखिम के लायक नहीं है।

+0

मैं ओएस 2.2.1 के निर्माण के लिए एसडीके 3.0 का उपयोग नहीं करना चाहता हूं: वास्तव में काफी विपरीत। मैं ओएस 3.0 के लिए एसडीके 3.0 और ओएस 2.2.1 के निर्माण के लिए एसडीके 2.2.1 का उपयोग करना चाहता हूं। और मैं एक ही एक्सकोड स्थापना का उपयोग कर ऐसा करना चाहता हूं। मेरे प्रश्न में मेरा यही अर्थ था: इसलिए मूल रूप से मुझे Xcode को फिर से स्थापित करने की आवश्यकता है –

+0

यह सच नहीं है। मेरे पास 3.0 एसडीके स्थापित है, और मैंने अभी 2.0 एप बनाया और सबमिट किया है। –

+0

इस विषय पर मेरी ब्लॉग प्रविष्टि देखें: http://cbg.me/2009/03/some-clarifications-regarding-the-iphone-30-os-sdk/ –

1

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

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

संबंधित मुद्दे

 संबंधित मुद्दे