因此,目前在 XCode 13 中,当我第一次创建项目时,xcode 会生成 iOS 14.0+ 的项目结构。
我是 iOS 新手,我想创建一个针对 iOS 13.0+ 的项目。如何告诉 XCode 生成 iOS 13.0+ 的项目模板?
我开始了一个SwiftUI
项目作为iOS 15
部署目标,我被要求降低版本,所以我将其更改为 iOS 13,在解决了一些代码兼容性问题后,我在应用程序的入口点留下了一个错误,MyProjectApp.swift
指出main()
和Scene
是WindowGroup
仅适用于 iOS 14+
如何使入口点兼容低于 iOS 14.x 的版本?
这是我的入口点的代码
@main //'main()' is only available in iOS 14.0 or newer
struct MyProjectApp: App {
let persistenceController = PersistenceController.shared
var body: some Scene { //'Scene' is only available in iOS 14.0 or newer
WindowGroup { //'WindowGroup' is only available in iOS 14.0 or newer
ContentView()
.environment(\.managedObjectContext, persistenceController.container.viewContext)
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想移植我现有的 UIKit 应用程序以使用适用App
于 iOS 14 的新 API。(但仍然使用AppDelegate
via 的方法UIApplicationDelegateAdaptor
,但是我仍然想支持 iOS 13。有没有一种方法可以设置,以便 iOS 14 ,使用App
as@main
但如果 iOS 13 使用AppDelegate
as @UIApplicationMain
?即使下面的代码也无法编译,因为我的最低构建目标是 iOS 13:
@available(iOS 14.0, *)
@main
struct HockeyTrackerApp: App {
// inject into SwiftUI life-cycle via adaptor !!!
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
HomeView()
}
}
}
Run Code Online (Sandbox Code Playgroud)