Changing the provisioning profile for an existing application

There is an iOS application in the app store that has been working for a long time, at the moment the application will be sold and the provisioning profile will be changed, in connection with which there are several questions that I could not find answers to, please help.

  1. Today, the token for authorized users is stored in the keychain, do I understand correctly that after changing the provisioning profile, access to the token will be lost?
  2. If I transfer the token to the sandbox during the migration, for example, to userdefaults, will I be able to access it after updating the provisioning profile or not? Will access to the sandbox be lost too?
  3. What is the way to seamlessly migrate from the old profile to the new one?
Answered by DTS Engineer in 715268022

Today, the token for authorized users is stored in the keychain, do I understand correctly that after changing the provisioning profile, access to the token will be lost?

Yes. For all the details on this, see App ID Prefix Change and Keychain Access.

I want to draw attention to this quote from that post:

WARNING Think carefully before using the keychain to store secrets that are the only way to access irreplaceable user data.


If I transfer the token to the sandbox during the migration, for example, to userdefaults, will I be able to access it after updating the provisioning profile or not? Will access to the sandbox be lost too?

I believe you’re talking about your app’s container, that is, the directory where your app stores files. If so, that’s definitely preserved across an app transfer.

Having said that, we recommend against storing credentials in the file system. Also, I don’t think that’s a good strategy for managing this transfer anyway, because it requires the user to run your app prior to the transfer. See the Get Creative section of the above-mentioned post.


What is the way to seamlessly migrate from the old profile to the new one?

That question is too general to answer meaningfully.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Today, the token for authorized users is stored in the keychain, do I understand correctly that after changing the provisioning profile, access to the token will be lost?

Yes. For all the details on this, see App ID Prefix Change and Keychain Access.

I want to draw attention to this quote from that post:

WARNING Think carefully before using the keychain to store secrets that are the only way to access irreplaceable user data.


If I transfer the token to the sandbox during the migration, for example, to userdefaults, will I be able to access it after updating the provisioning profile or not? Will access to the sandbox be lost too?

I believe you’re talking about your app’s container, that is, the directory where your app stores files. If so, that’s definitely preserved across an app transfer.

Having said that, we recommend against storing credentials in the file system. Also, I don’t think that’s a good strategy for managing this transfer anyway, because it requires the user to run your app prior to the transfer. See the Get Creative section of the above-mentioned post.


What is the way to seamlessly migrate from the old profile to the new one?

That question is too general to answer meaningfully.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Changing the provisioning profile for an existing application
 
 
Q