我向App Store提交了新版Mac OS应用程序。它被拒绝了,因为它因iCloud异常而在审核中崩溃。问题:无论我尝试什么,我都无法在本地重现问题。
Apple告诉我,我必须在我提交审核的完全相同版本上运行我的测试。这当然有道理,但我怎么能这样做呢?
由于应用程序使用iCloud,因此包含了iCloud权利。自从我将此版本提交到App Store后,它就会使用分发配置文件进行签名。当我尝试执行从提交的.xcarchive中提取的应用程序文件时,它立即被杀死。控制台显示:
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)
那么,当我无法运行时,如何测试我提交的完全版本?运行使用开发配置文件在发布模式下编译的版本不是问题。有没有办法使用开发配置文件重新提交提交的版本?
但是,即使我能够辞职并运行提交的版本,这仍然是我提交的完全版本吗?
答案 0 :(得分:3)
同时我直接从Apple那里得到了答案。我在这里添加它,以防有人遇到同样的麻烦:
运行使用iCloud且在本地计算机上使用分发配置文件签名的应用程序是不可能的。只有从App Store下载应用程序后,才能使用此功能。
为了能够在本地测试这样的应用程序,可以使用组织者简单地重新分发它:
通过这种方式,您将重新签署提交给您的开发资料审核的完全相同的构建,您将能够在本地执行该应用。您还可以将Xcode调试器附加到此应用程序以获取所需的所有信息。
当然,这与提交审核的应用程序不完全相同,但根据Apple的说法并不重要。只有签名不同,但实际构建是相同的。
在我的情况下,我仍然无法重新制作审核中发生的崩溃,但这是另一个故事......