使用嵌入式框架的CocoaPods和Xcode 6 GM

问题描述:

这里是我的配置:使用嵌入式框架的CocoaPods和Xcode 6 GM

  1. Pod X:与MyProjectSharedCode链接,声明类SomeClass(在目标C
  2. MyProjectExtension:今天的扩展,数据共享与MyProject
  3. MyProject:配套应用程序MyProjectExtension
  4. MyProjectSharedCode:Embedd公共代码MyProjectMyProjectExtension。使用SomeClass

我不能工作。我已经试过:

  • MyProjectSharedCode.h导入PodX.h,但它会导致编译器错误:

include of non-modular header inside framework module

  • 导致我的几个环节#1,包括this one。但是,改变这个选项并不允许我编译。正如@NachoSoto在接受的答案的最后一条评论中所说的,从Xcode 6 B5开始,答案似乎不起作用。

任何帮助/线索将不胜感激。

+0

您不要将代码链接到框架。你引用它的头文件进行编译,但是还没有任何连接。只有主机应用程序链接所有编译的二进制文件。 – Rivera 2014-09-17 00:58:18

+0

我试了一下:将两个应用程序与Pod连接,就像它现在一样。增加了一个新的目标。更新了标题搜索路径以包含'Pods'文件夹。删除了'Common'文件夹,重新添加仅包含框架的文件作为目标。建造。每个Swift文件都无法编译,错误:':0:错误:无法构建Objective-C模块'LiFXWidgetSharedCode'' – DCMaxxx 2014-09-17 10:30:30

+0

首先。我没有解决问题。最后一次尝试是在pod项目中使用“Defines module”构建pod(如在doc _中所述)“当您导入外部框架时,请确保您要导入的框架的Defines Module构建设置设置为Yes。”_)。但。我不完全知道,但我认为并非所有的pod源代码都是在每次编译时重新编译的,有些pod只是带有标题的静态库。所以,没有定义模块,你可以看到问题的错误。 Smb可以尝试使用已定义的模块名称和公共范围标题重新编译pod源(它们在pod中默认为项目)。 – Renatus 2014-11-10 11:02:05

今天有一篇很好的文章,讲述了如何使用Cocoapods 0.36.0的开发分支,这是支持框架/快速支持的地方。

http://swiftwala.com/cocoapods-is-ready-for-swift/

霸菱,我一直连接到豆荚一个框架,然后包括桥接报头中的标头。它有点古怪,但它的工作原理,只要你不想写在框架本身使用pod的swift。

编辑 0.36.0的预发布版本是you can see the blog post here