Xcode 11 Beta 3,构建错误"未知属性'状态'","使用未声明的类型'视图'"等



我使用 SwiftUI 构建了一个使用 Xcode 11 的第二个测试版的应用程序,一切正常,但现在,在第 3 个测试版中,该应用程序甚至没有构建。我收到诸如"使用未声明类型'视图'"、"未知属性'状态'"等错误。我能做什么?问题是在我的代码中还是只是一个错误?

问题是当我尝试构建应用程序以在我的 Mac 上运行时(使用 UIKit for Mac(

@State var score = 0

错误是"未知属性'状态'">

struct ContentView : View {
    /*...*/
}

错误是"使用未声明的类型'视图'">

在Xcode 11.2上遇到了同样的问题。发现原因是我在同一个模块中的某个地方声明protocol State {}.这会破坏编译器,没有任何合理的错误。

这是来自 Xcode 11 Beta 3 发行说明。

已知问题

  • Xcode 11 不支持在 macOS 的 iPad 应用程序中使用 SwiftUI。(41416222、51201699(

我自己下载了Xcode 11 Beta 3只是为了确认您提到的错误,并且在尝试为Mac构建SwiftUI项目时遇到了同样的问题。

如果可能的话,我建议重新使用Xcode Beta 2。不幸的是,Apple不提供以前测试版的下载链接,因此希望您的计算机上仍然安装了Time Machine备份或Beta 2。否则,在下一个测试版发布之前,您可能会不走运。

我在 Beta 5 中遇到了同样的"未知属性'状态'"问题。但我做的是"@state"而不是"@State"。案情重大。很难注意到,因为两种方式都显示为紫色。

如果您正在执行 Kotlin 多平台项目,请检查您的共享模块是否有名为"State"的组件。

我在尝试编译在 Xcode 11 上使用 Xcode 13 创建的 Swift 项目时遇到了同样的错误。问题是较新的版本使用 SDK 12.1,而旧版本使用 SDK 10.15。为了让项目在较旧的 Xcode/SDK 上编译,我刚刚执行了以下步骤:

  • 从 SWIFT 源代码中删除 @main 属性

  • 框架、库和嵌入式内容部分添加 Cocoa.framework

  • 将一个名为 main.m 的文件添加到包含以下内容的项目(无桥头(:

#include <Cocoa/Cocoa.h>

int main(int argc, const char * argv[]) {
    return NSApplicationMain(argc, argv);
}

代替@main,请替换@UIApplicationMain。我附上了屏幕截图。https://prnt.sc/vimvwn

相关内容

  • 没有找到相关文章

最新更新