WARNING ITMS-9000: "Potential Loss of Keychain Access"

IosXcodeApp Store-Connect

Ios Problem Overview


I've got the following warning while uploading a new version of the application:

> WARNING ITMS-9000: "Potential Loss of Keychain Access. The previous version of software has an application-identifier value of ['52T2NMS37N.com.(my-app-id)'] and the new version of software being submitted has an application-identifier of ['FCGA72C62G.com.(my-app-id). This will result in a loss of keychain access. For more information, please consult (url)".

The issue may be because the application was transferred into another account.

The build was uploaded with the warning, but what does it mean?

Ios Solutions


Solution 1 - Ios

From Apple's Documentation Archive, on Resolving the Potential Loss of Keychain Access warning

> > Potential Loss of Keychain Access. The previous version of software has an application-identifier value of 'A1B2C3D4E5.com.company.app' and the new version of software being submitted has an application-identifier of '5E4D3C2B1A.com.company.app'. This will result in a loss of keychain access.

> Note: This is a warning, not an error. You have the option of proceeding with the submission regardless of this warning, however this document should be used to determine whether you can safely ignore it. This warning indicates that the App ID prefix of the pending submission differs from the App ID prefix of the live app in the app store.

> Important: The only apps that can safely ignore this warning are those that do not use technologies that rely on the App ID prefix, like keychain access, Handoff, and UIPasteboard sharing.

> Note: Apps that are migrating their App ID from an arbitrary Bundle Seed ID to their more-modern Team ID should expect this warning, and proceed with the submission.

> For apps that do utilize technologies that rely on the App ID prefix, this warning should not be ignored. The Potential Loss of Keychain Access warning is an indication that the app was code signed with the wrong provisioning profile.

> To resolve the problem:

> 1. You must locate or re-create a provisioning profile that uses the correct App ID prefix on the Certs IDs & Profiles website.

  1. Click Edit on the profile to be certain the prefix is correct.
  2. Click Download and save the profile to disk.
  3. Optionally double check the App ID Prefix on the downloaded profile using the Terminal command in: How do I check the entitlements associated to my Provisioning Profile?
  4. Drag the profile onto the Xcode icon on your Dock to install it.
  5. Re-submit the app and code sign it with the newly restored profile that is associated to the right prefix.

> "Keychain access" refers to all the functions in the Keychain Services Reference.

Solution 2 - Ios

I think that the prefix is relationship to Apple Id. I migrate my App to other Apple Id and when i re create the App Id, was created a new prefix Id.

Solution 3 - Ios

This error happened when I tried to submit an update my app. I got this working by setting the Provisioning Profile to a specific one instead of the default 'Automatic' setting which seems to use some default XC one.

Select Provisioning Profile

Solution 4 - Ios

I had same issue, finally resolved by deleting the provisional profile at ~/Library/MobileDevice/Provisioning Profiles. and then downloading new from developer profile.

Go to the Finder then List item From the “Go” menu navigate down to “Go to Folder” or Hit Command+Shift+G from the Mac OS X desktop or a Finder window

Search below Path ~/Library/MobileDevice/Provisioning Profiles

Delete the profile which has wrong Bundle ID, if you click on file MacOS X will show details. You can verify the bundle ID.

Solution 5 - Ios

If you have transferred your app from once organisation to another :

Note : A one-time loss in keychain data will occur if you switch your App ID prefix

https://developer.apple.com/library/archive/technotes/tn2311/_index.html#//apple_ref/doc/uid/DTS40014135-CH1-A_ONE_TIME_LOSS_IN_KEYCHAIN_DATA_WILL_OCCUR_IF_YOU_SWITCH_YOUR_APP_ID_PREFIX

Solution 6 - Ios

I had the same warning. In my case I have a wild card application identifier.

So first of all I found this appID '5E4D3C2B1A.com.company.app' and removed it. Then I created new appID, but change teamID to 'A1B2C3D4E5'. As result I got a correct appID like this 'A1B2C3D4E5.com.company.app'. Then I regenerate all provision profile and everything works well. App didn't have strange behaviour in production.

But, pay attention please, I did it with wild card and I'm not sure if everything will be well with explicit application identifier.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiondekoView Question on Stackoverflow
Solution 1 - IosOrdoDeiView Answer on Stackoverflow
Solution 2 - IoswestradaView Answer on Stackoverflow
Solution 3 - IosDavid DouglasView Answer on Stackoverflow
Solution 4 - IosRam G.View Answer on Stackoverflow
Solution 5 - IosManishView Answer on Stackoverflow
Solution 6 - IosTarasView Answer on Stackoverflow