SwiftUI是否向下兼容iOS 12.x及更早版本?

153

如果我使用SwiftUI创建了一个应用程序,它能在低于iOS 13的iOS设备上运行吗?


1
大家知道为什么我的回答被@Jean-François Fabre删除了吗? - CrazyPro007
12
不,SwiftUI 不支持 iOS 12.x 及更早版本。 - ystack
12个回答

3
正如其他人之前提到的那样,很明显需要iOS 13或更高版本。但作为一名新的iOS开发者,我担心我应该在多大程度上采用SwiftUI来比较UIKit。我已经使用UIKit构建了一些小型项目,并对其进行了一些进阶操作。
但是随着SwiftUI的推出,如何在两者之间进行组合呢?以下链接中的文章将所有内容放在了上下文中: https://www.hackingwithswift.com/quick-start/swiftui/answering-the-big-question-should-you-learn-swiftui-uikit-or-both 我现在唯一的担忧是我注意到在Xcode 11中,一个Xcode项目不能同时组合Storyboards和SwiftUI。

2

创建两个故事板,一个使用UIKit,另一个使用UIHostingController与SwiftUI。

然后使用if #available()检查操作系统是否支持SwiftUI。

    // SwiftUI
    
    let storyboard_swiftUI = UIStoryboard(name: "Main-SwiftUI", bundle: nil)
    let controller_swiftUI = storyboard_swiftUI.instantiateViewController(withIdentifier: "ViewControllerSwiftUI")

    // UIKit
    
    let storyboard_UIKit = UIStoryboard(name: "Main-UIKit", bundle: nil)
    let controller_UIKit = storyboard_UIKit.instantiateViewController(withIdentifier: "ViewControllerUIKit")

    if #available(macCatalyst 14.0, iOS 14.0, *){

        // SwiftUI

        self.present(controller_swiftUI, animated: true)

    } else {
        
        // UIKit
        
        self.present(controller_UIKit, animated: true)

    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接