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

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.


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


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.
  2. Click Edit on the profile to be certain the prefix is correct.
  3. Click Download and save the profile to disk.
  4. 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?
  5. Drag the profile onto the Xcode icon on your Dock to install it.
  6. 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.