我有一个带有主要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的所有事情。
答案 0 :(得分:0)
结果是,当不再有默认的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
所有自定义框架都可以再次成功构建,并且我可以再次运行单元测试。