如何确保调试版本和appstore版本完全相同?

时间:2014-06-03 11:15:46

标签: ios xcode app-store certificate provisioning

我需要确保我发送给客户端进行测试的相同应用程序可以是AppStore中完全相同的应用程序。

我的工作流程:从XCode我为我的客户端进行调试/测试构建。 经过测试,如果他们说'#34;继续,在appstore"中发布它,我想上传一个与他们刚批准的版本最接近的二进制文件。理想情况下,它应该是相同的。

我可以通过多种方式解决这个问题:

1)我使用我公司的常用分发配置文件来进行调试/测试构建。这要求客户通知我们他们可能考虑安装测试应用程序的每个设备。通常情况下,随着时间的推移,他们不断添加越来越多的设备,为我多次更新配置文件做了额外的工作。不理想。好处是,我可以使用appstore配置文件将完全相同的存档上传到appstore。

2)我使用企业配置文件制作调试/测试应用程序。这样做的好处是,客户端可以根据需要在尽可能多的设备上安装它。不需要注册UUIDS。缺点:我需要创建一个新的存档,因为您无法使用appstore的企业配置文件。这留下了错误的空间 - 以及appstore上的应用程序与预期不完全相同的可能性。

3)我可能会提前询问我的客户,向我提供他们所有的证书/配置文件等,这样我就可以使用他们的证书/配置文件构建所有应用程序,用于测试和appstore。这样,它们的设备可能已经添加到配置文件中,并且当需要提交到appstore时,我不需要创建新的存档。我只是使用他们的appstore配置文件从存档中创建二进制文件。

简而言之,这是我需要的理想选择: 我进行调试/测试构建,将其上传到TestFlight。我的客户端在需要的设备上安装它。 如果他们没有发现任何错误并让我获得批准,我希望能够将完全相同的构建上传到appstore。这样,我确信它与测试/批准的应用程序相同,实际上是在appstore中。

我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

使用选项1或3.在我的工作中,我们有一些现场测试人员直接从Xcode获得真正的调试版本。然后我们有一些非现场测试人员。对于这些异地测试人员,我生成一个.ipa文件并将其发送给他们。如果该应用的当前版本被视为应用商店就绪,我上传到应用商店的.ipa与我发送给场外测试人员的版本完全相同。


请注意,这实际上是一个发布版本。它将与appstore上的应用程序完全相同。根据您编写代码的方式,您可能会发现没有区别。但对我来说,我将所有NSLog语句包含在#if DEBUG中,以及其他一些内容。在您分发用于测试的.ipa文件构建中,Xcode会将DEBUG定义为0,因此此代码不会执行(并且NSLog语句通常不应该&#39} ;无论如何都要在发布版本中执行。)