I sent a new version of my Mac OS App to the App Store. It was rejected because it crashed in the review due to iCloud exception. Problem: no matter what I try, I cannot reproduce the problem locally.
Apple told me that I needed to run tests on the exact same version that I submitted for viewing. It makes sense, of course, but how can I do this?
Since the application uses iCloud, iCloud is enabled. Since I sent this version to the App Store, it is signed with the distribution profile. When I try to execute an application file extracted from the provided .xcarchive, it is destroyed immediately. The console shows:
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)
So, how can I check the exact version that I sent when I cannot start it? Running a version that was compiled in Release mode using a development profile is not a problem. Is there any way to cancel the submitted version using the development profile?
However, even if I can resign and run the presented version, will it still be the exact version that I sent?
source
share