使用自定义框架和Cocoapods的自定义Xcode构建配置

卢卡斯·维尔茨堡

我有一个具有主要iOS目标的项目,一些源文件位于同一项目中的自定义框架以及CocoaPods。

最近,我更改了Xcode构建配置名称,并添加了两个名称,以覆盖两个环境(登台,生产)以及每个环境的调试和发布配置。

登台和生产的两个目标

  • MyProduct (Staging)使用默认配置DebugRelease
  • MyProduct (Production)使用默认配置DebugRelease

每次不得不在保存对话框中检查两个目标,这让我非常恼火。我决定只有一个目标,但有多个构建配置。令人惊讶的是,您可以使用Info.plist文件中的构建配置和变量来执行几乎所有操作。

每个环境两个构建配置

因此,我更改了配置,如下所示:

  1. 我改DebugDebug Staging
  2. 我改ReleaseRelease Staging
  3. 我加了 Debug Production
  4. 我加了 Release Production

我也需要更新方案设置,以使用正确的配置。

由于您在项目中而不是在单个目标中更改了配置,因此所有目标都将获得这些配置。

自定义框架和CocoaPods的问题

由于我使用的是CocoaPods,因此我也运行pod installPod的配置。它成功了,我可以使用不同的配置来构建和运行我的主要目标。

现在的问题是,我无法再单独构建自定义框架,也无法对其进行单元测试。我收到类似以下的错误:

  • 命令MergeSwiftModule失败,退出代码非零
  • 找不到框架“ Pods_MyProject”

我已经尝试过从清理派生数据到分解CocoaPods的所有内容。

卢卡斯·维尔茨堡

原来,当没有默认设置DebugRelease配置时,Cocoapods会感到困惑运行之后,pod install我实际上可以看到Pods Xcode项目的6种构建配置:

  • Debug
  • Debug Staging
  • Debug Production
  • Release
  • Release Staging
  • Release Production

我决定使用DebugRelease用于生产环境,Debug StagingRelease Staging为分段环境。pod install再次了:问题解决了。我看到Pods项目的4个构建配置:

  • Debug <-生产
  • Debug Staging
  • Release <-生产
  • Release Staging

所有自定义框架都再次成功构建,并且我可以再次运行单元测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章