Swift 编译器错误:在范围内找不到“ClassName.h” - Xcode 13

mic*_*per 8 xcode compiler-errors objective-c ios swift

对于初学者来说,这在升级到 Xcode 13 后才成为问题。我有一个用 Objective-C 编写的应用程序,并且正在使用一些用 Swift 编写的文件。为了访问在 Objective-C 中的应用程序中创建的类,我确实有一个名为 TargetName-Bridging-Header.h 的桥接标头,其中所有有问题的类都像这样导入:

#import "ClassName.h"
Run Code Online (Sandbox Code Playgroud)

在目标构建设置中,Objective-C Bridging Header 的值设置为桥接头文件的路径 (ProjectName/TargetName-BridgingHeader.h),并且应用程序似乎没有问题找到它。预编译桥接标头设置为“是”。安装 Objective-C 兼容性标头设置为“是”。此外,应用程序构建并运行,并且访问这些 Objective-C 构建的类似乎没有问题,但编译器继续抛出错误,指出它找不到这些类。我尝试过删除派生数据并进行清理。我缺少什么?这可能是其他人遇到过的新 Xcode bug 吗?

确切的错误是“Swift 编译器错误:无法在范围内找到‘ClassName.h’”

小智 6

遇到了同样的问题,我从桥接标头中删除了特定的导入语句,将其放回并保存...下次编译顺利,没有任何错误。奇怪的错误......但可以避免......

  • 这对我有用。注释了构建的桥接标头中的所有内容,然后取消注释并再次构建项目运行 (2认同)