deko
deko

Reputation: 2636

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

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?

Upvotes: 73

Views: 39822

Answers (8)

KBog
KBog

Reputation: 4660

Apple's documentation states that if you're coming from an App Transfer, retaining the previous Keychain Access IS NOT POSSIBLE:

enter image description here

Source: https://developer.apple.com/library/archive/qa/qa1726/_index.html

Your subsequent submission will show the usual ✅ and not display any warning message.

Upvotes: 1

Quick learner
Quick learner

Reputation: 11477

This is a warning not an issue, when i got this error my build was published to test flight by the way.

Scenario - When you transfer app from one account to another and then publish a build to appstore you get this error

enter image description here

Upvotes: 4

Manish
Manish

Reputation: 722

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

Upvotes: 8

Taras
Taras

Reputation: 1909

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.

Upvotes: 0

OrdoDei
OrdoDei

Reputation: 1429

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.

Upvotes: 74

Ram G.
Ram G.

Reputation: 3125

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.

Upvotes: 3

David Douglas
David Douglas

Reputation: 10503

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

Upvotes: 6

westrada
westrada

Reputation: 607

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.

Upvotes: 9

Related Questions