我有一个具有主要iOS目标的项目,一些源文件位于同一项目中的自定义框架以及CocoaPods。
最近,我更改了Xcode构建配置名称,并添加了两个名称,以覆盖两个环境(登台,生产)以及每个环境的调试和发布配置。
MyProduct (Staging)
使用默认配置Debug
,Release
MyProduct (Production)
使用默认配置Debug
,Release
每次不得不在保存对话框中检查两个目标,这让我非常恼火。我决定只有一个目标,但有多个构建配置。令人惊讶的是,您可以使用Info.plist文件中的构建配置和变量来执行几乎所有操作。
因此,我更改了配置,如下所示:
Debug
到Debug Staging
Release
到Release Staging
Debug Production
Release Production
我也需要更新方案设置,以使用正确的配置。
由于您在项目中而不是在单个目标中更改了配置,因此所有目标都将获得这些配置。
由于我使用的是CocoaPods,因此我也运行pod install
了Pod的配置。它成功了,我可以使用不同的配置来构建和运行我的主要目标。
现在的问题是,我无法再单独构建自定义框架,也无法对其进行单元测试。我收到类似以下的错误:
- 命令MergeSwiftModule失败,退出代码非零
- 找不到框架“ Pods_MyProject”
我已经尝试过从清理派生数据到分解CocoaPods的所有内容。
原来,当没有默认设置Debug
和Release
配置时,Cocoapods会感到困惑。运行之后,pod install
我实际上可以看到Pods Xcode项目的6种构建配置:
Debug
Debug Staging
Debug Production
Release
Release Staging
Release Production
我决定使用Debug
和Release
用于生产环境,Debug Staging
并Release Staging
为分段环境。我pod install
再次跑了:问题解决了。我看到Pods项目的4个构建配置:
Debug
<-生产Debug Staging
Release
<-生产Release Staging
所有自定义框架都再次成功构建,并且我可以再次运行单元测试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句