【发布时间】:2015-01-08 04:44:30
【问题描述】:
这是我的配置:
-
Pod X:与MyProjectSharedCode链接,声明类SomeClass(在Objective C中) -
MyProjectExtension:今日扩展,与MyProject共享数据 -
MyProject:用于配置MyProjectExtension的配套应用程序 -
MyProjectSharedCode:MyProject和MyProjectExtension中通用代码的嵌入式框架。使用SomeClass。
我无法让它工作。我试过了:
- 正在导入
PodX.hinMyProjectSharedCode.h,但会导致编译器错误:
在框架模块中包含非模块化头文件
- 这让我找到了一些 Stackoverflow 链接,包括 this one。但是,更改此选项也不允许我编译。正如@NachoSoto 在接受的答案的最后一条评论中所说,自 Xcode 6 B5 以来,答案似乎不起作用。
任何帮助/线索将不胜感激。
【问题讨论】:
-
您不会将代码与框架链接。您引用其头文件进行编译,但尚未链接任何内容。只有宿主应用程序链接所有已编译的二进制文件。
-
我试了一下:将两个应用程序与 Pod 链接,就像目前一样。添加了一个新目标。更新了标题搜索路径以包含
Pods文件夹。删除了Common文件夹,重新添加了仅以框架为目标的文件。建成。每个 Swift 文件都无法编译并出现错误:<unknown>:0: error: could not build Objective-C module 'LiFXWidgetSharedCode' -
第一。我没有解决问题。最后一次尝试是在 pod 项目中使用“定义模块”构建 pod(如 doc 中的“当您导入外部框架时,请确保您正在导入的框架的定义模块构建设置设置为是。”)。但。我不确切知道,但我认为并非所有 pod 源代码在每次构建时都会重新编译,有些 pod 只是带有标头的静态库。因此,没有定义任何模块,您可以从问题中看到错误。 Smb 可以尝试使用定义的模块名称和公共范围标头重新编译 pod 源(它们在 pod 中默认是项目)。
标签: xcode frameworks swift cocoapods