Hi everyone,
I’d like to clarify something regarding the behavior of Team IDs after an app transfer between Apple Developer accounts.
I have an app update that enforces a force update for all users. My plan is to release this update under the current developer account, and then proceed with transferring the app to a different developer account shortly afterward.
My concern is: once the transfer is complete, will users who download the same app version (released before the transfer) be logged out due to a change in Team ID? Specifically, does the transferred app continue to use the original Team ID (used to sign the last submitted build), or does the Team ID change immediately upon transfer — affecting Keychain access?
Any insights or confirmation on this would be greatly appreciated. Thanks!
iOS always uses the data protection keychain, where keychain access is gated by the app’s entitlements. See Sharing access to keychain items among a collection of apps for the details.
When you do an app transfer, you lose access to the keychain access groups you previously had access to. See App ID Prefix Change and Keychain Access for more on that.
The old version of your app continues to exist with the old entitlements. It’s able to access all the keychain items it was ever able to access. When you update your app in App Store Connect, the new version will have the new entitlements. When a user updates from the old to the new version, the app loses access to the old keychain access groups and hence the keychain items created by the old version of the app.
iOS doesn’t let users downgrade your app, so you don’t have to worry about the other direction.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"