An app that does not have an App Clip and successfully builds under Xcode 12.4 produces errors during the archive stage when using 12.5.
The associated domains section of the entitlements file looks like:
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:applinks.ourdomain.co.uk</string>
<string>applinks:www.ourdomain.co.uk</string>
<string>applinks:ourdomain.co.uk</string>
</array>
I was under the impression that the absence of a <string>appclip:ourdomain.co.uk</string>
entry in the associated domains meant that we weren't making any claims to have an App Clip.
The error output on our CI says:
error: exportArchive: Provisioning profile "Our App Name" doesn't
include the com.apple.developer.associated-appclip-app-identifiers entitlement.
Error Domain=IDEProfileQualificationErrorDomain Code=8
"Provisioning profile "Our Profile Name" doesn't include the
com.apple.developer.associated-appclip-app-identifiers entitlement."
UserInfo={NSLocalizedDescription=Provisioning profile "Our Profile Name" doesn't
include the com.apple.developer.associated-appclip-app-identifiers entitlement.,
IDEProfileQualificationError_RequiredEntitlements={
"application-identifier" = "$(AppIdentifierPrefix)uk.co.ourdomain.ourapp";
"aps-environment" = production;
"com.apple.developer.associated-appclip-app-identifiers" = (
"TeamName.uk.co.ourdomain.appname.Clip"
);
"com.apple.developer.associated-domains" = (
"applinks:applinks.ourdomain.co.uk",
"applinks:www.ourdomain.co.uk",
"applinks:ourdomain.co.uk"
);
I have no explanation for why this is included in the required entitlements:
"com.apple.developer.associated-appclip-app-identifiers" = (
"TeamName.uk.co.ourdomain.appname.Clip"
);
Other people are experiencing the same error for apps that do have App Clips, but ours does not.
This was solved by downloading a newly generated provisioning profile from Apple, which was identical to the original apart from the addition of an empty
appclip-app-identifiers
entry in the entitlements section.