You sell an app, you restructure your company, or you move a product to a different App Store Connect organization — in all three cases you need to move the app itself between Apple developer accounts. The good news: Apple supports this as a first-class feature. The app stays live on the App Store during and after the transfer, keeps its reviews and ratings, and users keep receiving updates. The bad news: the process is a 60-day, two-sided operation with a long list of criteria and a surprising number of things that do not transfer. This checklist walks through the whole flow using Apple's official app transfer documentation.
1. Confirm the app qualifies: the transfer criteria
Before anyone starts clicking, both accounts and the app itself must pass Apple's app transfer criteria. Check every item:
- Both accounts must be in a settled state — not pending or changing — and both parties must have accepted the latest paid and free agreements. If the transferor accepted Apple's EU Alternative Terms Addendum, the recipient must accept it too.
- The app must have at least one version released to the App Store.
- The app cannot be available for pre-order in any country or region.
- The app cannot be in one of the blocked statuses: Processing for Distribution, Waiting for Review, In Review, Accepted, Pending Developer Release, or Pending Apple Release.
- In-App Purchase products must be in an allowed status (Approved, Ready to Submit, Developer Removed from Sale, or Rejected).
- The app's IAP product IDs must not collide with product IDs on any app in the recipient's account.
- Apple Arcade apps cannot be transferred, and neither can Mac sandbox apps that share an Application Group Container Directory with other Mac apps.
2. Back up everything before you start
An app transfer is a removal: after it completes, the app no longer appears in the transferor's account. Apple's initiate guide recommends keeping a record of your metadata and pricing, the dates the app was live, and your sales and download information. Two data points deserve special attention:
- Sales and payments: the transferor keeps access to payments and sales that occurred before the transfer, but nothing afterward. The recipient only receives information for transactions that occur after the transfer.
- App Analytics: the transferor loses App Analytics access entirely (historical data remains visible in Sales and Trends). The recipient gains access to analytics back to April 1, 2015, or the app's first App Store availability, whichever is later.
3. What transfers with the app
Most of the app's store identity moves over. Per Apple's overview page:
- The Bundle ID and the associated App ID transfer with the app (a wildcard App ID is converted to an explicit App ID matching the bundle ID).
- Reviews, ratings, and store metadata, including localizations and accessibility support details.
- In-App Purchase products (subject to the criteria above), and users keep receiving app updates seamlessly.
- Webhooks configured for the app, OS data transfer (Android package name and signing-key fingerprints), and iCloud data storage, CloudKit containers, and KVS identifiers associated with the app.
4. What does NOT transfer — and what to handle yourself
This is where most transfer plans break. These items stay behind or break silently:
- APNs certificates and keys: existing certificates stay valid until expiry, but after that the recipient must generate new ones — and if you use APNs keys, the recipient must generate or reuse a key and update your push servers.
- Apple Pay merchant ID: it does not transfer. Transactions keep working while original certificates are valid, but the recipient must create a new merchant ID before submitting any update.
- Sign in with Apple: the Service ID transfers with the app (remove the association first if you do not want that), and you must generate a transfer identifier per user via Apple's REST endpoint before the move. Grouped apps must be ungrouped first.
- Game Center: apps leave their groups during transfer; leaderboards and achievements revert to pre-group state, matchmaking configuration is not transferred, and the recipient may need to update build leaderboard IDs.
- Promo codes: after transfer, no new promo codes can be generated, regardless of ownership.
- TestFlight and Xcode Cloud: beta testing must be switched off (all builds and testers removed, Test Information cleared) and all Xcode Cloud data removed before initiating.
5. Transferor checklist: initiating the transfer
Only the Account Holder can initiate (and only the Account Holder can accept — check your role permissions). Steps, per Apple's initiate guide:
- Go to the app's App information section, scroll to Additional Information, and click Transfer App.
- Confirm a two-factor authentication code when prompted.
- Enter the recipient's Account Holder Apple Account and Team ID.
- Read and agree to the transfer terms, then click Request Transfer.
- Wait: the transfer stays in Pending App Transfer until accepted, and expires after 60 days. While pending, you cannot edit metadata, pricing, availability, or IAPs, and open App Review communications are closed.
Both sides can cancel while the transfer is in the Waiting for Recipient state (Business → Agreements → App Transfers).
6. Recipient checklist: accepting the transfer
Acceptance must happen within 60 days. Per Apple's accept guide:
- Sign in to App Store Connect and go to Business → Agreements → App Transfers, then click Review.
- Enter the new metadata: Support URL, Marketing URL (required if the app previously had one), Privacy Policy URL (same rule), plus App Review and App Store contact information.
- Choose user access: everyone on the team, or only Admin and Finance roles (limitable later).
- Review the App privacy answers the previous owner provided; if none exist, complete the section before submitting the next version.
- Accept the terms and click Accept. Completion takes up to two business days (status: Processing App Transfer); if export compliance documentation is required, the app waits for review of those documents.
7. After the transfer: the recipient's follow-up list
- Create new provisioning profiles in the recipient's Apple Developer account and associate them with the transferred App ID.
- For auto-renewable subscription apps: after transfer, generate a new app-specific shared secret so the previous owner no longer has access, and update your servers.
- If the app uses keychain sharing, rebuild the keychain with a group created under the recipient's Team ID — keychain sharing only works until the first update, and users will need to log in again once.
- If the app used App Groups, delete the group from the transferor's account and register it on the recipient's.
- If the app uses Wallet passes, reissue passes with a new identifier so they are signed with the recipient's certificates.
The one-line takeaway: an iOS app transfer is a checklist-driven, two-account operation — verify the criteria, back up your data, clean up TestFlight and Xcode Cloud, initiate as Account Holder, accept within 60 days, and rebuild the recipient-side infrastructure (provisioning profiles, APNs, shared secrets, merchant ID) before you ship the next update.