Signing failed: Provisioning profile "iOS Team Provisioning Profile: xx" doesn't match the entitlements file's value for the com.apple.developer.associated-appclip-app-identifiers entitlement.

Hello everyone,

I'm trying to create an App Clip for my existing app (it's a multiplatform app). Now Xcode can't sign my app, and the following error appears:

Provisioning profile "iOS Team Provisioning Profile: xx" doesn't match the entitlements file's value for the com.apple.developer.associated-appclip-app-identifiers entitlement.

If I don't add that row in my project's entitlement then I can sign my app but I can't upload it to App Store Connect, telling me that the value is missing.

I've tried to delete the saved profiles in my Mac and force Xcode to download them again.

I started thinking about if you can create an App Clip for a multiplatform project or even if it's a bug in Xcode 12.5 beta 3.

Does anyone experienced the same or have some suggestion to try?

Thank you!
Aniol


Replies

Hi Aniol,

I have the same problem.

I select "Show Raw Codes & Values" when viewing the values in my entitlement file and then click + to add the new entitlement "com.apple.developer.associated-appclip-app-identifiers"; but this value doesn't appear as a selectable option in the list?

Im also using Xcode 12.5 beta 3. because I've had so many problems with AppClips, thought I would try the latest Beta...
Thank you Jason for your reply,

that’s what it happens to me and for this reason I thought the entitlement doesn’t have to go in that file..
I think it is a bug. I have auto manage provisioning profiles switched on; and with this value added to the entitlement file an unknown error is generated. I presume it's because the value is not supported. Therefore I agree, the value cannot/should not be added directly into the entitlement file.

Not sure how to get rid of this warning. I do know that prior to installing 12.5 beta 3, I was having issues with the AppClip in TestFlight. I kept getting "AppCip not available in country". All support posts directed me towards the entitlement file, so I was please to see an error message confirming the absence of something. But now we face this new challenge, how to resolve the warning :)

I have not seen many posts...
Looks like new provisioning profiles now include the com.apple.developer.associated-appclip-app-identifiers key, I was originally getting a warning that my entitlements didn’t include it.

Upon re-generating the provisioning profile it now includes the value and it gets inserted into the entitlements.

I am now getting an error complaining that the key should be an array instead of a string.
Changing the xcent file to make it into an array means I’m unable to code sign the IPA.

Going to raise a DTS with Apple and I will post back any updates (:
Add a Comment
Hi.

May I ask how you added this entitlement, by manually adding the key into your entitlement file? The key is not available for selection in my project, evan if I recreate a new entitlement file.?
I created it manually to try if that solved the issue - it didn't.
What I have tried now is to Archive the project with Xcode 12.4 and that has worked. I have successfully opened the App Clip from TestFlight.
I assume it's a bug in Xcode 12.5 beta 3 (at least) and if that's the case I hope it gets fixed in the next release!

May I ask how you added this entitlement, by manually adding the key into your entitlement file? The key is not available for selection in my project, evan if I recreate a new entitlement file.?

I added it manually, you can change the plist display settings to show the keys/values instead of dropdown.

If you create a new provisioning profile then it should include the entitlement and it will automatically be added to the entitlements when they are generated on build (Xcode 12.5b3). However, it’s added as a string and ASC seems to expect an array.
If I use the old profile I get the ITMS-90876 warning back and with the new profile I get ITMS-90877 and ITMS-90878.

Building using the new provisioning profile in Xcode 12.4 results in a warning to remove the com.apple.developer.associated-appclip-app-identifiers entitlement from the profile as it’s unused and not in my entitlements file.

I tried forcing it to be an array using a build script run as the last build phase:
Code Block bash
! /usr/bin/env zsh
set -euo pipefail
alias PlistBuddy=/usr/libexec/PlistBuddy
XCENT_FILE="${TARGET_TEMP_DIR}/${FULL_PRODUCT_NAME}.xcent"
echo "Updating ${TARGET_TEMP_DIR}/${FULL_PRODUCT_NAME}.xcent"
APPCLIP_ID=$(PlistBuddy -c "Print com.apple.developer.associated-appclip-app-identifiers" "$XCENT_FILE")
PlistBuddy -c "Delete com.apple.developer.associated-appclip-app-identifiers" "$XCENT_FILE"
PlistBuddy -c "Add com.apple.developer.associated-appclip-app-identifiers array" "$XCENT_FILE"
PlistBuddy -c "Add com.apple.developer.associated-appclip-app-identifiers:0 string '$APPCLIP_ID'" "$XCENT_FILE"

However, this meant I wasn’t able to select provisioning profile because it complained that the profile had a string and not an array as in my entitlements.
I don't think your problems will end using 12.4. I was using 12.4 previously and could open the AppClip as a developer, but when I distributed the AppClip using TestFlight, my testers were getting a "This app clip is not currently available in your country or region". I believe this is because of the entitlement file. Let us know if it works for your testers using a phone that is not registered as a development device.

p.s.
You can only test the AppClip in TestFlight if the main App is not installed.
Yep, I did think to add it manually, but because its not available for selection I presumed it's not supported evan though it's asked for in the warning... Will have to wait for Apple...
I will let you know if I can open it in another device (in an hour, maybe).

I’ve just created my first App Clip yesterday, in 12.5 beta 3, so I didn’t know what I was doing wrong. I tried different things for 2 hours and decided to ask here and go to sleep :)
It’s a bit strange that the developer portal is returning the entitlement as a single value string in the provisioning profile but on submission it’s rejected because it isn’t an array. I don’t think a new Xcode beta alone will fix that unless the generated provisioning profile is also changed.
I've successfully tried both my app and my App Clip in my brother's iPhone (he's not a developer). Also a friend who test this app tells me he also can open it. It's strange.. I think I should have to archive the app from Xcode 12.4 from now.. 🤷‍♂️
Great news. Ill re-install 12.4 and try again. Thanks.
Hi. Im still having problems. The AppClip just shows "Not available in country or region" when using TestFlight (On a non developer phone). It works with a local experience registered.

I think it's the AASA file. The AASA is available at poweredbygs1.co.uk in the root and .well-known directories and and the content looks like this :

{

    "appclips": {

    "apps": [

      "CL7PU7LG73.org.gs1uk.t-k-2.Clip"

    ]

    },

    "applinks": {

        "apps": [],

        "details": [

            {

                "appID": "CL7PU7LG73.org.gs1uk.t-k-2",

                "paths": [ "*" ]

            }

        ]

    }

}

and the build metadata like this:

Entitlements

GS1 UK Toolkit.app/AppClips/ARAppClip.app/ARAppClip

    com.apple.developer.on-demand-install-capable: true

    application-identifier: CL7PU7LG73.org.gs1uk.t-k-2.Clip

    beta-reports-active: true

    get-task-allow: false

    com.apple.developer.associated-domains: ( "appclips:poweredbygs1.co.uk" )

    com.apple.developer.team-identifier: CL7PU7LG73

    com.apple.developer.parent-application-identifiers: ( "CL7PU7LG73.org.gs1uk.t-k-2" )

GS1 UK Toolkit.app/GS1 UK Toolkit

    application-identifier: CL7PU7LG73.org.gs1uk.t-k-2

    get-task-allow: false

    beta-reports-active: true

    com.apple.developer.associated-domains: (  )

    com.apple.developer.team-identifier: CL7PU7LG73




Can anybody see anything obviously wrong? The validator https://search.developer.apple.com/appsearch-validation-tool reports Error cannot fetch app site association
When does the error appear? When you open your App Clip through the TestFlight app or when you try to scan an App Clip code or an NFC card?

I think you need to have an already published version of the App Clip on the App Store to be able to use App Clip Experiences.. (I'm not sure, though). If you don't need to have a published App Clip, then I have the same problem as you.

Maybe tomorrow I'll publish the first version to the App Store. I'll check then what happens when I scan an App Clip code and write a reply on this page.