使用Xcode 12构建macOS 10.15目标时出现错误。

6

从Xcode 12.3版本开始,当你创建一个目标为macOS的新的SwiftUI项目时,默认情况下Xcode会将目标设置为11.0(Big Sur)。 如果不更改默认的“hello world”应用程序中的任何一行代码,并将目标更改为我现在正在使用的macOS 10.15, 那么默认的项目Swift文件将无法构建。:-


@main
struct catalinaApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}```

3 Errors: @main, 'Scene' and WindowGroup is only available in macOS 11.0 or newer

How can I alter the project/above file to correctly build the default app on Catalina? (10.15) ?

thanks in advance!

2
请查看此链接:https://developer.apple.com/documentation/swiftui/windowgroup。WindowGroup 要求最低的 Mac OS 版本为 11,因此请将您的项目目标设置为最低 11。 - Raja Kishan
1
谢谢 - 上面的文档证实了WindowGroup需要macOS 11。问题是,macOS 10.15的等效物是什么?在macOS 11发布之前,用于macOS应用程序的代码是什么? - Disco
3
在创建新项目时,可以选择使用旧的生命周期方法 - AppDelegate。 - Raja Kishan
太好了 - 谢谢!我之前不知道有生命周期选项。使用AppDelegate选项还将macOS 10.15设置为默认目标,并且编译完美。(有趣的是,Hello World的App Delegate版本使用.frame(),而新的SwiftUI生命周期使用.padding()。) - Disco
1个回答

13

感谢 @Raja Kishan,答案很简单,只需在创建新项目时选择“AppDelegate”选项即可。


1
你能将这个标记为解决方案吗?这可能会节省其他人的时间。谢谢! - Michel Storms
2
哇 - 搜了两天互联网,重新安装了一遍,结果只需要这个 - 谢谢...!真希望我能给它 +10。 - Bob Broadley
是的,谢谢。花了好几天时间才找到这个。 - Ishvara

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