क्या SwiftUI iOS 12.x और पुराने के साथ पीछे की ओर संगत है?




ios12 (7)

अगर मेरे पास स्विफ्टयूआई के साथ एक ऐप है, तो क्या यह आईओएस 13 के नीचे आईओएस के लिए काम करेगा?


नहीं। documentation को iOS 13 या बाद में, macOS 15 या बाद में, tvOS 13 या बाद में, या watchOS 6 या बाद में परिनियोजन लक्ष्य की आवश्यकता है। फ्रेमवर्क में कई नए प्रकार शामिल हैं जो OS के पुराने संस्करणों पर मौजूद नहीं हैं।



यदि आप iPhone का समर्थन करने के लिए शूटिंग कर रहे हैं और iPad नहीं है तो आप शायद उम्मीद कर सकते हैं कि अधिकांश उपयोगकर्ता 12-18 महीनों (रिलीज की तारीख के साथ) में iOS 13 में अपग्रेड करेंगे। शायद 85-90%? (मुझे लगता है कि Apple ने इस बिंदु पर कहा कि अभी भी 15% लोग iOS 12 पर नहीं हैं) अभी भी काफी समय है, हालाँकि जहाँ आप अभी तक SwiftUI ऐप को तैनात करने में सक्षम नहीं हैं या बहुत सारे उपयोगकर्ताओं को अलग करने का जोखिम उठाते हैं।

यह भी निर्भर करता है कि अन्य 10-15% क्या है, इसका मतलब है कि आपके लिए बहुत सारे उपयोगकर्ता (और $ $) टेबल पर छोड़ दिए गए हैं।

यदि आप iPad का समर्थन कर रहे हैं, तो इसके और अधिक मुश्किल है क्योंकि लोग अक्सर अपने iPads को अपग्रेड नहीं करते हैं। 3 जी और 4 वीं पीढ़ी के आईपैड के साथ बहुत से आईपैड 2s अभी भी जंगली में हैं, जिसमें केवल 10.3.3 हैं और अब और अपग्रेड नहीं कर सकते हैं। जब लोग पूरी तरह से ठीक काम करते हैं, तो लोग बस एक नए iPad के लिए $ 400 - $ 1,000 के बीच उठने और जाने का भुगतान नहीं करते हैं।

वहाँ हमेशा कमरे और अनुप्रयोग को अद्यतन करने के लिए एक की जरूरत है, यह बेहतर बनाने, कीड़े फिक्सिंग, कि जरूरी नहीं कि iOS 13. के साथ कुछ करना है, यानी एक बग को खोजने से पहले जिसके बारे में आपको पता नहीं था कि बहुत से उपयोगकर्ता नाखुश हैं। नवीनतम iOS संस्करण पर नहीं। और हम उद्यम / कॉर्पोरेट ग्राहकों के बारे में भी बात नहीं कर रहे हैं जो बहुत सी देव दुकानों का समर्थन करते हैं। उस क्षेत्र में विभिन्न कारणों से iOS अपडेट पर बहुत अधिक पुशबैक करता है।

इससे पहले कि आप iOS 13 और स्विफ्टयूआई के बारे में पूरी तरह से उत्साहित हो जाएं (जो आपको पूरी तरह से चाहिए क्योंकि इसका कमाल), असली दुनिया में वापस, सिलिकॉन वैली के बाहर, यह बिल्कुल वैसा ही नहीं है जैसा कि औसत उपभोक्ता को उम्मीद है और आपको समर्थन करने की आवश्यकता होगी पुराने उपकरणों और की जरूरत है क्योंकि theres सिर्फ बहुत से लोगों को आप विमुख हो जाएगा।


मैंने अभी इसे Xcode 11 में चेक किया था और पुष्टि कर सकता हूं कि यह पीछे की ओर संगत नहीं होगा, जैसा कि स्विफ्टयूआई के View में देखा जा सकता है:

/// A piece of user interface.
///
/// You create custom views by declaring types that conform to the `View`
/// protocol. Implement the required `body` property to provide the content
/// and behavior for your custom view.
@available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *)
public protocol View : _View {

    /// The type of view representing the body of this view.
    ///
    /// When you create a custom view, Swift infers this type from your
    /// implementation of the required `body` property.
    associatedtype Body : View

    /// Declares the content and behavior of this view.
    var body: Self.Body { get }
}

जैसा कि सभी ने कहा है, यह पुराने iOS संस्करणों के साथ पीछे की ओर संगत नहीं होगा। लेकिन यह देखते हुए कि Apple के पास लगातार अपने नवीनतम iOS का एक उच्च इंस्टॉल बेस है, और यह भी कि iOS 13 के लिए iPhone 6S या बाद में, iPad Air 2 या बाद में, नए iPad मिनी 4 और iPhone SE की आवश्यकता होती है। उपयोगकर्ताओं के विशाल बहुमत iOS 13 को स्थापित करने और सुंदर SwiftUI एप्लिकेशन का आनंद लेने में सक्षम होंगे।


मुझे ऐसा नहीं लगता, क्योंकि सभी पुस्तकालयों को पहले से ही iOS 13 या उच्चतर के लिए एनोटेट किया गया है।

इसके अलावा, documentation , Apple स्पष्ट रूप से समर्थित संस्करणों का उल्लेख करता है:

  • iOS13.0 + बीटा
  • macOS10.15 + बीटा
  • टीवीओएस 13.0+ बीटा
  • वॉचओएस 6.0+ बीटा


यह iOS 13+ के साथ संगत है। यहाँ इसके प्रलेखन का लिंक दिया गया है।

https://developer.apple.com/documentation/swiftui/

यहां तक ​​कि Xcode 10 भी इसका समर्थन नहीं करता है। आपको Xcode 11 का उपयोग करने की आवश्यकता है जो बीटा में है (Jun 3 2019)। https://developer.apple.com/tutorials/swiftui/creating-and-combining-views







swiftui