2009-08-31 6 views
25

मुझे पता है कि इस प्रश्न के कुछ हिस्सों में कई बदलावों से पूछा गया था लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मुझे यह सही लगे।आधार बनाम सक्रिय बनाम परिनियोजन लक्ष्य

यहां मेरी धारणाएं और समझें हैं जिन्हें मैं जानना चाहता हूं कि सबमिट करने से पहले वे सही हैं या नहीं।

मेरा आवेदन सभी OS द्वारा समर्थित सुविधाओं मान लिया गया है, और इसलिए मैं चाहिए:

  1. सक्रिय एसडीके सेट नवीनतम होना करने के लिए (वर्तमान में 3.0 SDK)।
  2. नि: शुल्क होने के लिए परिनियोजन लक्ष्य सेट करें जिसे मैं समर्थित करना चाहता हूं - आईफोन 2.0 और उच्चतम?
  3. बेस एसडीके के लिए वास्तव में क्या है? अगर मैंने अलग-अलग एसडीके को अलग किया है और प्रोजेक्ट सेटिंग्स में सक्रिय एसडीके कहां देखूं तो क्या मुझे इसे अनदेखा करना चाहिए?

एक अंतिम सवाल - क्या ऐप्पल आईफोन ओएस 2.0 को तैनाती लक्ष्य के रूप में चुनने की इजाजत दे रहा है?

अग्रिम धन्यवाद,

Btw - इस प्रश्न के लिए मेरा मुख्य कारण में से एक है क्योंकि जब पहले SDKs सेब के साथ संकलन UIImageView एनीमेशन सरणी के लिए स्मृति को रिहा एक समस्या है लगता है जब इस एनीमेशन एकाधिक समय के लिए बचा लिया गया था है उपयोग। यह एक ज्ञात समस्या है जिसे एसडीके 3.0 के साथ तय किया गया था (केवल UIImageView एनीमेशन सरणी को शून्य से सेट करके)

उत्तर

28

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

आदेश संभव उपकरणों की बड़ी संख्या के लिए अपने अनुप्रयोग बनाने के लिए, आप सही हैं:

  • सेट नवीनतम संभव एसडीके (3.0, 3.0.1)
  • को बेस एसडीके तैनाती सेट जल्द से जल्द एसडीके संभव करने के लिए लक्षित करें (2,0)

एप्पल आप तैनाती लक्ष्य के रूप में iPhone 2.0 निर्दिष्ट करते हैं, लेकिन मन में जारी किसी भी एपीआई या ढांचा iPhone 2.0 के बाद आप द्वारा उपयोग के लिए आप के लिए उपलब्ध नहीं होगा रखने के लिए अनुमति नहीं है चूक। techniques to use features from later SDKs हैं, हालांकि वे अनौपचारिक हैं।

+6

हामी होने के लिए इसका मतलब यह नहीं है, लेकिन ओ पी के बारे में "बेस एसडीके" और "तैनाती लक्ष्य पूछा । " क्या आप "परिनियोजन लक्ष्य" का अर्थ "सक्रिय एसडीके" का उपयोग कर रहे हैं? ऐप्पल "बेस एसडीके" और "परिनियोजन लक्ष्य" शब्द का उपयोग करता है, जिसका अर्थ है: MAX एसडीके = "बेस एसडीके" और मिनी एसडीके = "परिनियोजन लक्ष्य"। – jww

8

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

आपको फिर यह सुनिश्चित करने की ज़रूरत है कि आप रनटाइम पर, किसी भी सुविधा के लिए जो पहले के ओएस पर मौजूद नहीं हो सकते हैं।

+0

साफ़ और सरल उत्तर –

3

"बेस एसडीके" अधिकतम एसडीके है जिसे आप समर्थन दे सकते हैं। यहां एक कठिन सीमा है - आप भविष्य का चयन नहीं कर सकते, एसडीके को निरस्त नहीं कर सकते।

"परिनियोजन लक्ष्य" न्यूनतम एसडीके है जिसे आप समर्थन देने के इच्छुक हैं। यह कितना समय है जब आप जाने के इच्छुक हैं।

एक्सकोड "परिनियोजन लक्ष्य" पर एक नकली निर्भरता बनाने के लिए प्रतीत होता है। उदाहरण के लिए, मैं अपने आईओएस 5.1.1 आईपॉड पर एक्सकोड 4.5.2 (एक्सकोड 4.5) के साथ विकसित नहीं कर सकता।2 आईओएस 6.0 के साथ जोड़ा गया है), भले ही 4.3, 5.0, और 5.1 एपीआई और सिमुलेटर इस स्थापना पर स्थापित हैं। मुझे अपने आईओएस 6.0 आईफोन में सिम्युलेटर या जैक का उपयोग करने की ज़रूरत है।

ऐप्पल खेल रहे गेम ऐप के साथ भी समस्याएं पैदा कर रहे हैं। तत्वों की मेरी खरीदी गई प्रति आईट्यून्स के माध्यम से आईपॉड में सिंक नहीं होगी क्योंकि तत्वों को चलाने के लिए आईओएस के एक नए संस्करण की आवश्यकता है (यह मेरे आईओएस 6.0 आईफोन पर ठीक है और चलाता है)।

मेरे पास दो आईपैड हैं और एक 4.3 है। मैं यह सोचने के लिए चिल्लाता हूं कि इससे क्या गड़बड़ी होगी।

1

सामान्य रूप से;

आधार एसडीके को नवीनतम एसडीके पर सेट करें जिसे आप समर्थन और परीक्षण करने के इच्छुक हैं।

आईओएस के निम्नतम संस्करण पर परिनियोजन लक्ष्य सेट करें जिसे आप समर्थन और परीक्षण करने के इच्छुक हैं।

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

एक वैकल्पिक/पूरक प्रक्रिया नियोक्ता http://www.deploymateapp.com/ का उपयोग करना होगा जो समस्याओं की पहचान करने के लिए स्थिर कोड विश्लेषण करता है।

यदि आप एंड्रॉइड दुनिया से हैं तो समानताएं हैं;

TargetSDK -> बेस एसडीके

MinSDK -> तैनाती लक्ष्य

एक प्रकार का वृक्ष -> Deploymate

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

  • कोई संबंधित समस्या नहीं^_^