AppStore में भेजे गए एक ही बंडल के साथ आपके पास अलग-अलग बिल्ड नहीं हो सकते। यदि आप वास्तव में ARKit सक्षम उपकरणों के लिए "कुछ विशेष" रखना चाहते हैं - तो ऐप लॉन्च के दौरान कुछ प्रकार के चेक का उपयोग करें। यहाँ एप्पल से बोली है
महत्वपूर्ण सभी ARKit कॉन्फ़िगरेशन में A9 या बाद के प्रोसेसर के साथ iOS डिवाइस की आवश्यकता होती है। यदि आपका ऐप अन्यथा अन्य उपकरणों का समर्थन करता है और संवर्धित वास्तविकता को एक माध्यमिक विशेषता के रूप में पेश करता है, तो इस संपत्ति का उपयोग यह निर्धारित करने के लिए करें कि उपयोगकर्ता को एआर-आधारित सुविधाओं की पेशकश करनी है या नहीं। यदि आपके ऐप को अपनी मुख्य कार्यक्षमता के लिए ARKit की आवश्यकता है, तो अपने ऐप के Info.plist के UIRequiredDeviceCapabilities सेक्शन में मौजूद आर्किट कुंजी का उपयोग करें, जो ARKit को सपोर्ट करने वाले डिवाइस पर केवल आपके ऐप को उपलब्ध कराए।
तो आप ARConfiguration.isSupported
रनटाइम में डिवाइस की क्षमताओं की जांच करने के लिए उपयोग कर सकते हैं । यदि यह "पुराने" कार्यान्वयन के लिए समर्थित नहीं है।
लक्ष्य के लिए कोड को संकलित करने के लिए <11 आप विधियों या यहां तक कि वर्गों को इस @available(iOS 11.0, *)
तरह से चिह्नित कर सकते हैं :
@available(iOS 11.0, *)
func doSomeARStuff() {
if ARConfiguration.isSupported { print("Supported") }
}
अपने मौजूदा कोड का उपयोग करके उन तरीकों को कॉल करने के लिए इसे पसंद करें:
if #available(iOS 11.0, *) {
doSomeARStuff()
} else {
// Fallback on earlier versions
}