【发布时间】:2017-08-01 02:21:14
【问题描述】:
我们有一个为 iOS 目标创建的混合 Swift/Objective-C 库项目。到目前为止一切顺利。
现在,因为我们认为在我们的开发 Mac 上测试(并且可能使用)来自 Swift REPL 的库会很好,所以我们决定为 macOS 添加目标。特别是在this guide 之后,我们确保:
- 复制主目标和测试目标。
- 调整目标操作系统和版本。
- 将对复制的 plist 的引用更改回项目主 plist。
- 已检查所有标题是否位于 Build Phases/Headers 中的相同位置。
- 更改为将伞形标题(用于 Objective-C 部分)中的 UIKit 导入 Foundation。
但是,macOS 目标仍然无法构建:我们的 Swift 代码中出现了一堆“未解决的标识符”错误,指向在 Objective-C 代码中定义的符号。
在为 Objective-C 子模块提供了自己的模块映射和伞头之后,单个符号错误消失了,我们在导入时得到“没有这样的模块”错误。
我们没有看到的是编译器错误在 Objective-C 代码。 iOS 目标仍然构建得很好。
我们在这里缺少什么?我们必须对框架也为 macOS 构建的框架进行哪些更改?
【问题讨论】:
标签: objective-c swift xcode macos build