परिनियोजन लक्ष्य का क्या अर्थ है?


107

यह एक बहुत ही सरल प्रश्न है जो मैं मान रहा हूं। क्या कोई मुझे बता सकता है कि तैनाती लक्ष्य का क्या मतलब है। अगर मैं IOS 10 का चयन करता हूं, तो क्या इसका मतलब केवल iOS 10 वाले उपयोगकर्ता ही ऐप डाउनलोड कर सकते हैं। क्या कम तैनाती लक्ष्य चुनना बुरा है? ALSO, परिनियोजन लक्ष्य पर जारी है, यह कम परिनियोजन लक्ष्य पर चलाने के लिए अनुशंसित नहीं है।


1
इस सवाल को देखें: stackoverflow.com/questions/18568572/…
mlidal

जवाबों:


149

कहते हैं कि आपने iOS 9 के लिए न्यूनतम परिनियोजन लक्ष्य निर्धारित किया है। इसका मतलब है कि आपका एप्लिकेशन iOS 9 और उससे ऊपर के उपकरणों के लिए अनुकूल है।

एप्लिकेशन 9.0 उपकरणों के नीचे नहीं चलेगा, बल्कि iOS 9.0 से अधिक किसी भी iOS संस्करण पर चल सकता है ।


क्या कम संस्करण वाले उपयोगकर्ता अभी भी ऐप को कम से कम ऐप स्टोर पर देख सकते हैं?
सगरियन

2
@ Sagrian हाँ वे कर सकते हैं, लेकिन यह उन्हें दिखाएगा कि यह उनके डिवाइस OS के साथ संगत नहीं है
FreakyAli

परिनियोजन लक्ष्य और जानकारी के बीच अंतर क्या है? Xcode चलो 2 स्थानों में एक ios संस्करण चुनें।
डैनियल स्प्रिंगर

@DanielSpringer सेटिंग Deployment Targetअंततः Info.plist को बदल देती है। यह Xcode 4.x के बाद (शायद) जोड़ा गया एक सुविधाजनक तरीका है
नवेद अब्बास

@NaveedAbbas मुझे खेद है लेकिन मुझे समझ नहीं आ रहा है कि यह कैसे उत्तर देता है। दो जगह क्यों? प्रत्येक के लिए क्या है?
डैनियल स्प्रिंगर

19

परिनियोजन लक्ष्य पुराने iOS संस्करणों पर आपके ऐप की क्षमता को निर्धारित करता है।

App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.

जब iOS का नया संस्करण जारी होता है, तो कुछ लोग अपने उपकरणों को नवीनतम iOS संस्करण में अपडेट करने की जहमत नहीं उठाते हैं और इस प्रकार वे can't download your app from the App Store

उदाहरण

यदि आप उच्च परिनियोजन लक्ष्य चुनते हैं (e.g 12.1), तो आपका ऐप उन लोगों के लिए डाउनलोड करने में सक्षम नहीं होगा जिनके पास नवीनतम उपकरण हैं, लेकिन पुराने iOS संस्करण (11.0 के साथ iPhone X) हैं। इसके विपरीत, यदि आप न्यूनतम संभव परिनियोजन लक्ष्य चुनते हैं (e.g 6.0), तो आप अपने ऐप को अधिकतम पिछड़ा संगत बनाने का प्रयास करते हैं (भले ही किसी ने उम्र में अपने iOS को अपडेट नहीं किया हो, तो वह आपके ऐप को डाउनलोड करने में सक्षम होगा)।

सावधान

कई (लगभग सभी) नए चौखटे और फीचर्स कम iOS वर्जन पर ठीक से नहीं चल पाएंगे (जैसा कि अपेक्षित था) जो ऐप क्रैश की संभावना को बढ़ाता है।

क्या तैनाती लक्ष्य को प्रभावित करता है

निम्नलिखित कुछ कारक हैं जो उच्च तैनाती लक्ष्य की मांग करते हैं।

1) नवीनतम iOS SDK (अकेले) का उपयोग करना

2) नवीनतम iOS SDK विशिष्ट सुविधाओं (बाधाओं, नई XIB फ़ाइलों आदि) का उपयोग करना।

३) बाहरी पुस्तकालयों / रूपरेखाओं (जैसे फेसबुक एसडीके, फायरबेस आदि) का तेजी से उपयोग करना।

4) उच्च स्विफ्ट संस्करण (5.0) के लिए उच्च तैनाती लक्ष्य की आवश्यकता होती है बनाम विरासत में अपना ऐप लिखना !Needs citation

समाधान

हम अधिकाधिक पिछड़े समर्थन के लिए डिप्लोमेट का उपयोग कर रहे हैं । यह मुख्य रूप से हमें निम्नलिखित चेतावनी के बारे में आश्वस्त करता है:

1) नए एपीआई जो निचले iOS संस्करणों पर काम नहीं करेंगे

2) नए आईओएस संस्करणों पर काम नहीं करने वाले अपवित्र तरीकों का उपयोग करना।

यह तब होता है जब आप अपने कोड को अधिकतम अनुकूलता के लिए कम iOS संस्करणों के लिए उपलब्ध कराना शुरू करते हैं।

नोट: Xcode भी कई नुकसान के बारे में सूचित करता है। Deploymate न तो हमारे साथ संबद्ध है और न ही हमें किसी भी रूप में भुगतान करता है। आप अन्य विकल्पों की तलाश कर सकते हैं।


1

Deployment TargetiOS का एक न्यूनतम संस्करण है जो आपके लक्ष्य द्वारा समर्थित है।

इसका मतलब है कि:

  • एक डेवलपर के रूप में आप इस संस्करण का समर्थन करते हैं और आप सभी अगली संगतता का समर्थन करने में सक्षम हैं
  • एक उपयोगकर्ता के लिए आपके पास कम से कम iOS का यह संस्करण होना चाहिए

इसे Xcode 11.5 में बदलने के लिए

Build Settings -> iOS Deployment Target

-4

यदि आप Xcode में नए हैं, तो मैं आपके प्रोजेक्ट पर एक बाधा के रूप में डिफ़ॉल्ट को स्वीकार करने और इसे सोचने के बारे में सुझाव देता हूं।

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

मैंने जिन परियोजनाओं में काम किया है, उनमें से अधिकांश में iOS संस्करण मायने रखता है क्योंकि यह तय करता है कि कौन से उपकरण आपके एप्लिकेशन को चला सकते हैं।

उदाहरण के लिए, iOS 10 अनिवार्य रूप से सभी आइपॉड-शैली कनेक्टरों को पीछे छोड़ दिया है।


1
डाउनवोट्स, लेकिन कोई टिप्पणी नहीं ... मददगार नहीं ... मैं जोड़ूंगा, अब आईओएस 13 एक्सकोड 11 के माध्यम से बाहर हो गया है, पुरानी परियोजनाओं पर बहुत सारे डिफ़ॉल्ट लक्ष्यों को स्थानांतरित करना पड़ा है।
benc

Upvoted: उपयोगी जानकारी "खाइयों से"। टिप्पणी के रूप में अधिक उपयुक्त होगा, लेकिन फिर भी।
टाइममी

मैं थोड़ा कम प्रतिनिधि के साथ एक व्यावहारिक विशेषज्ञ होना चाहता था। Xcode में नया होना बहुत कुछ पचाने वाला है।
benc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.