Villainy that doesn't match the setting
Lately, I have been having trouble deploying my applications internally (Enterprise Developer Program) with reports that some value rights were not specified in the provisioning profile. I started researching this question and found that, of course, the values did not match:
.Mobileprovision file content: (as retrieved at startup security cms -D -i <mobileprovision file>
)
<key>application-identifier</key>
<string>M7X5D8MA6U.some.masked.Identifier</string>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>KNHHJPPHR7.*</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>KNHHJPPHR7.*</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>M7X5D8MA6U.*</string>
</array>
And rules (as checked start: codesign -d --entitlements - <app bundle>
)
<key>application-identifier</key>
<string>5R678HMG35.some.masked.Identifier</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>5R678HMG35.some.masked.Identifier</string>
</array>
I am not specifying any permissions file in my project and the mobileprovision file was downloaded from the Portal.
Should I create an Entitlements.plist with these values to make the installer happy, or is there a less hacky way to solve this? And more importantly, why does this only happen with some of my application? (Some other assemblies are ok)
Any other tips on how to solve and / or avoid this problem?
I've already tried the usual suspects: deleting all profiles, re-creating profiles, re-uploading the certificate, etc.
Thank!
source to share
This can happen if Xcode decides to use a wildcard provisioning profile when running a Release build.
Even though you select the correct provisioning profile in Xcode Organizer, when you click the button Distribute…
, Xcode invokes xcrun PackageApplication
that embeds the provisioning profile into your application and then retires. It also very carefully copies the original wrong permissions, such as the app id prefix, APN permissions gleaned from the wrong provisioning profile, into your new IPA. It will probably not be installed.
I'm not sure why he is doing this, perhaps because not all rights belong to profiling.
source to share