"XXX-Swift.h" 在测试项目中找不到文件

"XXX-Swift.h" file not found in test project

我正在尝试在测试项目的 XCTestCase 子类的方法中调用我在比方说 "main" 项目中的 NSObject 子类的方法。主项目的 NSObject 子类导入 "XXX-Swift.h" 头文件(我正在混合 SwiftObjective-C 代码)。当我 运行 主项目时一切正常,但是当我 运行 测试调用该子类的对象时,我收到一条错误消息,指出导入中的 Swift 头文件不是找到了。

我想我在测试目标中遗漏了一些设置,但我找不到哪个...我应该检查什么?或者我应该怎么做才能解决这个问题?

转到 Xcode 项目 > 构建设置并键入 "header name",您将获得以下选项:

确保必须存在名称为$(SWIFT_MODULE_NAME)-Swift.h

的文件

然后在 Build Settings 下键入 "bridging header" 并确保 "bridging-header.h" 文件的路径正确存在。

已编辑:

1) 确保您的 "Project Name" 不包含空格 2) "XXX-Swift.h" 文件在以下路径生成,因此您需要将该路径添加到单元测试 - 转到构建设置,键入 "Header Search Paths" 并添加以下行

"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources"

更多可以参考这个link:iOS - 'MyProject-Swift.h' file not found when running Unit Tests for Swift