将objc动态框架与另一个objc动态框架链接使swift单元测试目标失败

时间:2016-06-16 20:38:44

标签: objective-c swift unit-testing dynamic frameworks

我正在构建一个目标c的动态框架,我已经使用Swift单元测试目标进行了单元测试。到目前为止,这种方法运作良好。

我现在需要将我正在构建的框架与另一个obj-c动态框架链接起来。这也很好,我可以在我的框架内访问外部框架。

然而,只要我将动态框架与外部框架链接起来,我的swift单元测试目标就会失败,无法在我自己的框架中找到头文件。

任何人都有这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

经过一番搜索,我在本期“迦太基书”中找到了这个问题的答案:

https://github.com/Carthage/Carthage/issues/1002

动态框架目标没有“嵌入框架”构建步骤,因为这是主机应用程序的责任,嵌入框架的任何依赖项。这意味着我的框架目标只能链接外部动态框架,但不能嵌入它。这适用于构建框架目标。但是当运行我的单元测试目标并且测试开始运行我的框架代码时,外部动态框架就会丢失。

对我来说,解决方案是将Copy Files构建步骤添加到我的单元测试目标,目标设置为“Frameworks”,然后在此处拖动外部动态框架。这可确保测试包中存在外部动态框架,并且我的单元测试目标再次起作用。