【问题标题】:Xcode generates project template that doesn't compileXcode 生成无法编译的项目模板
【发布时间】:2021-01-13 05:49:36
【问题描述】:

我使用的是 Mojave 10.14.6,并安装了 Xcode 11.3.1。 Swift 说它的版本是 5.1.3。 根据 Xcode 发行说明,我认为这没问题: “Xcode 11.3.1 需要运行 macOS Mojave 10.14.4 或更高版本的 Mac。” Swift 的注释说 Swift 5.1 需要 macOS 10.14.6 和 Xcode 11 或更高版本。

在 Xcode 中,当我创建一个新的“无”macos 应用程序时,Xcode 会在其中一个文件中生成它:

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .frame(maxWidth: .infinity, maxHeight: .infinity)
    }
}

当我构建这个时,我得到了这些错误:

  • “某些”返回类型仅适用于 macOS 10.15.0 或更高版本
  • “文本”仅在 macOS 10.15 或更高版本中可用
  • 'frame(minWidth:yada:yada:)' 仅适用于 macOS 10.15 或更高版本

在项目常规设置中,我将 Deployment 设置为 10.14,但为时已晚 - 已为 10.15 生成了空应用。

在 Build Settings 中,Deployment 设置为 10.14,Swift 编译器设置为 Swift 5。

有没有办法告诉 Xcode 11.3.1 设置一个将在 10.14.6 上构建和运行的项目?

或者我需要退回到 Xcode 10.3 吗? (下一个最旧的版本?)。

谢谢!

编辑:是因为我使用了默认的 SwiftUI 吗?我刚刚尝试了 Storyboard,生成的代码构建好了。那么……这是 xcode 生成 Mojave 无法构建的 SwiftUI 代码的问题吗?

【问题讨论】:

    标签: xcode


    【解决方案1】:

    我想通了。虽然 XC 11.3.1 可以在 10.14.6 上运行,但 SDK 是 10.15。 我回到了 XC 10.3,这是使用 10.14 SDK 的最后一个版本。

    这为 Apple Swift 提供了 5.0.1 版 和 Apple LLVM 版本 10.0.1 (clang-1001.0.46.4)

    现在我想知道我是否可以在 10.14.6 Mojave 上的 XC 10.3 中将 SwiftUI 与 Swift 5.0.1 一起使用? “前景不太好。”Magic 8 Ball 说。 :-)

    谢谢xcodereleases.com;我以前应该更仔细地看的。 抱歉打扰了。

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      • 2012-04-18
      • 2012-07-25
      相关资源
      最近更新 更多