PojectName-Swift.h使用Swift和ObjC代码库时未找到

时间:2017-05-30 08:04:30

标签: objective-c swift watchkit apple-watch bridging-header

我有一个完美的ObjC项目,与Apple WatchKit应用程序集成了多个目标。只有一个目标与WatchKit App链接。

我正在将我的类移动到swift,因此在我的代码中使用了ModuleName-Swift.h文件。

ModuleName-Swift.h file not found in xcode8中给出的后续步骤,我确保在项目>下添加“$(PROJECT_NAME)-Swift.h”。构建设置> Objective-C生成的接口头名称。

enter image description here

但是,当我转到构建设置时 - 项目目标显示为 Objective-C generated interface header name ,WatchKitApp目标显示 Swift_ObjC_Interface_header_name

编译器抛出错误: ProjectName-Swift.h文件未找到

这会导致错误吗?不知道我错过了什么。

这就是我将-swift.h文件链接到其他目标

的方式

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是:

  • 单元测试用例失败,进一步扰乱了项目的编译

快速修复:

  • ObjectiveC Classes有与之关联的单元测试用例。
  • 由于主代码库的更改,部分单元测试失败。
  • 我必须在Edit Schemes > Build下取消选中以下内容,以便在运行WatchKit App时不构建。

enter image description here

我同意我必须更新测试用例以使用更新的应用程序,但Watch App无法正常工作的问题是固定的! :)