使用嵌入式框架的CocoaPods和Xcode 6 GM
问题描述:
这里是我的配置:使用嵌入式框架的CocoaPods和Xcode 6 GM
-
Pod X
:与MyProjectSharedCode
链接,声明类SomeClass
(在目标C) -
MyProjectExtension
:今天的扩展,数据共享与MyProject
-
MyProject
:配套应用程序MyProjectExtension
-
MyProjectSharedCode
:Embedd公共代码MyProject
和MyProjectExtension
。使用SomeClass
。
我不能工作。我已经试过:
- 在
MyProjectSharedCode.h
导入PodX.h
,但它会导致编译器错误:
include of non-modular header inside framework module
- 导致我的几个环节#1,包括this one。但是,改变这个选项并不允许我编译。正如@NachoSoto在接受的答案的最后一条评论中所说的,从Xcode 6 B5开始,答案似乎不起作用。
任何帮助/线索将不胜感激。
答
今天有一篇很好的文章,讲述了如何使用Cocoapods 0.36.0的开发分支,这是支持框架/快速支持的地方。
http://swiftwala.com/cocoapods-is-ready-for-swift/
霸菱,我一直连接到豆荚一个框架,然后包括桥接报头中的标头。它有点古怪,但它的工作原理,只要你不想写在框架本身使用pod的swift。
编辑 0.36.0的预发布版本是you can see the blog post here。
您不要将代码链接到框架。你引用它的头文件进行编译,但是还没有任何连接。只有主机应用程序链接所有编译的二进制文件。 – Rivera 2014-09-17 00:58:18
我试了一下:将两个应用程序与Pod连接,就像它现在一样。增加了一个新的目标。更新了标题搜索路径以包含'Pods'文件夹。删除了'Common'文件夹,重新添加仅包含框架的文件作为目标。建造。每个Swift文件都无法编译,错误:':0:错误:无法构建Objective-C模块'LiFXWidgetSharedCode'' –
DCMaxxx
2014-09-17 10:30:30
首先。我没有解决问题。最后一次尝试是在pod项目中使用“Defines module”构建pod(如在doc _中所述)“当您导入外部框架时,请确保您要导入的框架的Defines Module构建设置设置为Yes。”_)。但。我不完全知道,但我认为并非所有的pod源代码都是在每次编译时重新编译的,有些pod只是带有标题的静态库。所以,没有定义模块,你可以看到问题的错误。 Smb可以尝试使用已定义的模块名称和公共范围标题重新编译pod源(它们在pod中默认为项目)。 – Renatus 2014-11-10 11:02:05