我们是 Apple iOS 开发新手。我们的团队由少数内部开发人员和少数外部承包商组成。我们使用 React Native 进行开发,并使用基本的 Fastlane 应用程序来构建应用程序并将其推送到 App Store Connect。目前,一些承包商可以访问具有“开发”角色的 Appstore,并且所有内部开发人员都可以访问它。所有开发人员都在 Xcode 中使用“自动管理签名”复选框。
在查看运行应用程序开发团队的最佳实践时,我们发现多篇文章使用 fastlane match 来降低管理证书的复杂性,我们想知道它们是否仍然有效。
例如
建议使用 match 将开发/分发证书/配置文件存储在 git 存储库中并与团队共享。已经指出的主要优点是易于管理(并且可能是安全性)。
例如:
每次添加新设备或证书过期时,您都必须手动续订并下载最新的一组配置文件。此外,这需要在设置用于构建应用程序的新机器时花费大量时间。
除非存在安全问题,否则到目前为止我们还没有看到“自动签名”带来很大的管理麻烦。
每个人都拥有开发证书,这样他们就可以在本地真实设备上构建,他们不应该有部署/推送新版本应用程序的权限,也不应该访问分发证书。
您应该使用 Match,它可以加密并且安全。
Fastlane 对于开发人员彼此认识的小型项目来说是一个很好的工具,如果你计划将你的项目变得更大并拥有一个跨国团队,那么这是一个不行的情况。您的开发人员不应该能够从本地计算机进行测试或生产构建。您永远无法确定该构建上到底运行了哪些代码,因为开发人员可以在启动 Fastlane 管道之前进行本地更改。
理想的场景是拥有一个 CI/CD 工具,例如 Bitrise。您的安全团队将为 Google Play 和 Apple Developer 创建帐户,这些帐户将拥有最高权限,开发人员应通过选择分支和环境来使用 Bitrise,然后将构建上传到 Bitrise 的测试环境或产品。
希望这是有道理的。干杯。