在Beta OS版本上以缓慢的发布周期测试iOS应用

Apple的“在Beta OS版本上测试您的应用程序”技术说明涵盖了为即将发布的OS版本准备应用程序的最佳实践。 该文件建议:

  • 使用Beta SDK构建您的应用,
  • 在Beta OS版本上测试此版本,
  • 在以前和最新的OS版本上对同一二进制文件进行回归。

尽管此方法适用于大多数具有RERO理念的应用程序,但有些现实世界项目无法(或不需要?)跟上即将发布的OS版本。 这些项目的要求是:

  1. 以确保当前的App Store版本可以在即将发布的OS版本上正常运行(当时是Beta版)
  2. 确保当前正在进行的版本在即将发布的OS版本上也能正常工作

第二个需求需要更多解释。 在即将发布的操作系统的Beta版期间开发的功能是使用最新的SDK和IDE完成的。 可能没有办法分配时间/人力资源/金钱来使用Beta IDE将应用程序迁移到Beta SDK。

在这种情况下,在Beta OS发行版上测试应用程序的策略会有所变化。 我将测试分为两部分:

在App Store中测试当前的应用版本:

  • 在运行Beta操作系统的设备上从App Store安装该应用并进行测试,
  • 发现错误后, 使用最新的SDK和IDE进行修复
  • 向App Store提交修补程序(当使用最新的SDK和IDE构建应用程序时,您可以立即进行修复)

测试即将发布的应用版本:

  • 继续使用最新的SDK来构建您的应用,
  • 在Beta OS版本上测试此版本(通过Beta Apple Configurator 2安装)
  • 发现错误后,使用最新的SDK和IDE进行修复
  • 准备好使用新版本的应用程序后,将其提交到App Store

无论如何,您将不得不(至少在Apple看来)迁移到新的SDK和IDE儿子或他们上线之后的更高版本。 因此,您最好在状态会议期间尽可能多地强调这一点。

UPD:武力有时可能非常令人不快。 如果延迟使用早期版本的工具和SDK构建的发行版(Beta上线时),则可能会遇到后端(例如iTunesConnect)无法预测的问题。 在Xcode 8和iOS SDK 10正式发布的一个月后,我们注意到由于二进制文件(由Xcode 7.3.1和iOS SDK 9.3构建)或元数据的任意问题,iTC开始拒绝我们的提交。 最终,我们以合理的魔法剂量释放了婴儿baby。 意识到!