iOS持续发货,构建促销

时间:2016-02-10 14:01:59

标签: ios continuous-integration cd

我目前正在为iOS应用程序开发CI / CD管道。

该应用程序目前已编译并发布为“test”以运行自动化测试。此时,应用程序将向'test'api发出请求。

如果所有测试都通过,那么构建将被提升为“staging”,此时构建应该向'staging'api发出请求。

我不想在将应用程序发布到暂存时重新编译该应用程序。

在不重新编译的情况下,在应用中更改某些配置值的最佳方法是什么?

我想到了以下方式:

  • 将.ipa文件更改为zip
  • 解压缩
  • 编辑plist(包含一些配置内容)
  • 重新压缩应用
  • 更改回.ipa文件

1 个答案:

答案 0 :(得分:1)

AFAIK:当应用程序签名时,它会根据.ipa的内容进行签名。因此解压缩/编辑/重新压缩将导致iOS在控制台上抛出错误而不启动您的应用程序 - .ipa的内容将不再与签名匹配。

我不确定你是否会在没有重新编译(或至少重新签名)的情况下逃脱。您可以将此作为CI的一部分,请参阅此问题的答案:How to re-sign the ipa file?

您实际上在建议的流程结束时添加了此重新签名步骤:

  • 将.ipa文件重命名为.zip
  • 解压缩
  • 编辑plist(包含一些配置内容)
  • 重新压缩应用
  • 重命名为.ipa文件
  • 重新签名.ipa文件

理论上,这应该有效。在实践中,我浪费了几个小时试图让类似的工作。祝你好运!