运行 在 Xcode 6.2 中对 git 个子模块(也是 CocoaPods)进行单元测试
Running unit tests on git submodules (which are also CocoaPods) in Xcode 6.2
我的项目正在使用内部库。
它被设置为用于依赖管理的 CocoaPod 和 git 子模块,因此我只需要在新版本真正准备好发布时打包它。
有关此设置的详细说明,请参阅 CocoaPods: Working With Internal Pods Without Hassle。
所以我刚刚修改了我的内部库,这些更改现在反映在 pod 中,我对此感到很兴奋。
然而,要注意的是内部库有自己的 Podfile,因此需要一个工作区。由于我通常不会构建该库,除非作为依赖项,所以它大部分都很好......直到我想 运行 对其进行单元测试。
由于 CocoaPods 通常在工作区中包含 pods,因此无法找到 pod 依赖项的对象文件。但是,它们在那里 - 因为这些依赖项也包含在使用 pod 的项目中。
我认为无法在 Xcode 中嵌套工作区。但是难道不应该对内部库的构建阶段-Link二进制库进行一些更改以将libPods.a指向主项目生成的那个吗?
解决方案:将该内部库的 Pods.xcodeproj 添加到工作区。
因此工作区最终包含 4 个项目:
- 主要项目
- 主项目的Pods项目
- 内部图书馆
- 内部图书馆的 Pods 项目
我的项目正在使用内部库。
它被设置为用于依赖管理的 CocoaPod 和 git 子模块,因此我只需要在新版本真正准备好发布时打包它。
有关此设置的详细说明,请参阅 CocoaPods: Working With Internal Pods Without Hassle。
所以我刚刚修改了我的内部库,这些更改现在反映在 pod 中,我对此感到很兴奋。
然而,要注意的是内部库有自己的 Podfile,因此需要一个工作区。由于我通常不会构建该库,除非作为依赖项,所以它大部分都很好......直到我想 运行 对其进行单元测试。
由于 CocoaPods 通常在工作区中包含 pods,因此无法找到 pod 依赖项的对象文件。但是,它们在那里 - 因为这些依赖项也包含在使用 pod 的项目中。
我认为无法在 Xcode 中嵌套工作区。但是难道不应该对内部库的构建阶段-Link二进制库进行一些更改以将libPods.a指向主项目生成的那个吗?
解决方案:将该内部库的 Pods.xcodeproj 添加到工作区。
因此工作区最终包含 4 个项目:
- 主要项目
- 主项目的Pods项目
- 内部图书馆
- 内部图书馆的 Pods 项目