如何在本地测试使用iCloud提交的Mac应用程序?用发展档案重新签名



我向App Store提交了一个新版本的Mac OS应用程序。它被拒绝,因为它在审查中因iCloud异常而崩溃。问题是:无论我尝试什么,我都无法在本地重现这个问题。

苹果告诉我,我必须在我提交审查的版本上运行测试。这当然有道理,但我该怎么做呢?

由于应用程序使用iCloud,因此包含iCloud权利。由于我将此版本提交到了应用商店,因此使用分发配置文件对其进行了签名。当我试图执行我从提交的.xcave中提取的应用程序文件时,它会立即被杀死。控制台显示:

taskgated-helper[51673]: Starting taskgated-helper
taskgated-helper[51673]: embedded provisioning profile not valid: file:///Users/AUser/Library/Developer/Xcode/Archives/2014-02-07/MyApp.xcarchive/Products/Applications/MyApp.app/Contents/embedded.provisionprofile
taskgated-helper[51673]: returning 2 provisioning profiles
taskgated-helper[51673]: none of the 2 applicable provisioning profile(s) apply
taskgated-helper[51673]: CPValidateProvisioningDictionaries returning NO with error: (null)
taskgated[13]: killed com.example.MyApp[pid 51671] because its use of the com.apple.developer.ubiquity-container-identifiers entitlement is not allowed (error code -67050)

那么,当我无法运行我提交的精确版本时,我该如何测试它呢?使用开发概要文件运行在发布模式下编译的版本不是问题。有什么方法可以放弃提交的带有开发概要文件的版本吗?

然而,即使我能够辞职并运行提交的版本,这仍然是我提交的版本吗?

与此同时,我直接从苹果公司得到了答案。我在这里添加它,以防有人遇到同样的问题:

无法在本地计算机上运行使用iCloud并使用分发配置文件签名的应用程序。只有从应用商店下载该应用程序后,此功能才会起作用。

为了能够在本地测试这样的应用程序,可以简单地使用组织者重新分发:

  • 在Xcode中打开组织者
  • 选择提交审查的档案
  • 单击"分发…">
  • 选择"导出为"one_answers"应用程序">
  • 单击"下一步"并选择"开发配置文件"以重新注册应用程序

这样,您将重新签署与您的开发配置文件完全相同的版本,并且您将能够在本地执行该应用程序。您还可以将Xcode调试器附加到此应用程序,以获取所需的所有信息。

当然,这与提交审查的应用程序并不完全相同,但据苹果公司称,这无关紧要。只有签名不同,但实际构建是相同的。

就我而言,我仍然无法重现回顾中发生的车祸,但这是另一个故事。。。

最新更新