Перенос приложения на другой аккаунт Apple Developer
Автор: Mehdi Azizi
Опубликовано , 9 мин
Владелец запускает App Transfer, получатель принимает в течение 60 дней. Отзывы и Bundle ID сохраняются. Условия, шаги и подводные камни.
Чтобы перенести приложение с одного аккаунта Apple Developer на другой, в App Store Connect есть функция переноса приложения (App Transfer). Владелец аккаунта, который отдаёт приложение, запускает перенос, владелец аккаунта, который его получает, принимает его в течение 60 дней, а затем сама операция занимает до двух рабочих дней. Приложение остаётся в продаже, сохраняет оценки, отзывы и Bundle ID, а пользователи продолжают получать обновления.
То, что ломается, нужно подготовить до нажатия кнопки: TestFlight, подписки, Sign in with Apple, push-уведомления, общая связка ключей. Сам я ещё ни одно приложение не переносил. Этот гайд опирается на справочные страницы Apple, которые я перечитал 3 ноября 2026 года, а итоговый список я бы применил к своим приложениям, собранным на Expo и RevenueCat.
Когда переносить приложение
Согласно обзору переноса приложений, он нужен, если ты продал приложение другому разработчику или хочешь переместить его в другой аккаунт или другую организацию. Типичный пример для инди-разработчика: перейти с личного аккаунта на аккаунт своей компании. Чтобы открыть такой аккаунт, сначала прочитай гайд про номер D-U-N-S.
Перенос перемещает приложение, а не твой аккаунт. Каждое приложение переносится отдельно и полностью уходит из твоего аккаунта, когда операция завершена.
Девять условий Apple
На странице критериев переноса их девять, в таком порядке:
| Критерий Apple | Что проверяешь ты |
|---|---|
| Ни один из двух аккаунтов не находится в ожидании или в процессе изменения, и оба приняли последнюю версию платных и бесплатных соглашений | Business, вкладка Agreements, с обеих сторон |
| У приложения есть хотя бы одна версия, опубликованная в App Store | Ни разу не выпущенное приложение перенести нельзя |
| Приложение не находится на предзаказе ни в одной стране или регионе | Предзаказ завершён или снят |
| У приложения нет ни одного из статусов: Processing for Distribution, Waiting for Review, In Review, Accepted, Pending Developer Release, Pending Apple Release | Твоя последняя версия в продаже |
| Встроенные покупки имеют один из статусов: Approved, Ready to Submit, Developer Removed from Sale, Rejected | Ни одной встроенной покупки на ревью или незавершённой |
| У пакетов ресурсов, размещённых у Apple, нет версий в статусе Waiting for Review или In Review, ни в TestFlight, ни в App Store | С этой стороны ничего нет на ревью |
| Ни один идентификатор продукта встроенной покупки приложения не используется уже приложением получателя | Сравни идентификаторы обоих аккаунтов |
| Mac-приложение, которое использовало песочницу и делит свой Application Group Container Directory с другими Mac-приложениями, перенести нельзя | Только некоторые Mac-приложения |
| Приложение Apple Arcade перенести нельзя | Касается немногих проектов |
Дождись, пока твоя последняя версия окажется в продаже, и только потом запускай перенос.
Подготовка к переносу
Эти пункты решаются до нажатия кнопки, по справочным страницам Apple:
- Сохрани всё. Приложение уходит из твоего аккаунта: экспортируй метаданные, цены, даты доступности, продажи и загрузки.
- Отключи TestFlight. Удали все сборки и всех тестировщиков и очисти поля Test Information на каждом языке. Как работают группы, описано в гайде по TestFlight.
- Очисти Xcode Cloud и убери entitlement App Replacement, если он есть, опубликовав обновление.
- Подписки: передай секрет конкретного приложения. Приложение, которое продаёт автовозобновляемые подписки, должно использовать общий секрет конкретного приложения (app-specific shared secret). Ты его генерируешь, передаёшь получателю, затем запускаешь перенос. Получатель обновляет свои серверы до принятия и генерирует новый секрет, когда перенос завершён.
- Sign in with Apple: разгруппируй и подготовь идентификаторы. Подробно ниже.
- Вебхуки: прими решение. Они уходят вместе с приложением. Удали их заранее, если больше не хочешь получать события, или пусть получатель их перенаправит.
Два последствия, которые касаются денег. Согласно странице Small Business Program, чистая выручка приложения за календарный год засчитывается всем аккаунтам, которые запускают или принимают перенос. Значит, порог в 1 миллион долларов считается с учётом этого приложения, с обеих сторон: смотри комиссию 15 %. И после переноса для приложения больше нельзя создавать промокоды: существующие коды действуют четыре недели с момента создания.
Шаги на стороне передающего
Запустить перенос может только владелец аккаунта (Account Holder). Ему нужен Apple ID владельца, который получает приложение, и Team ID его аккаунта. Согласно справке по запуску переноса:
- В Apps выбери приложение.
- В боковой панели в разделе General нажми App information и пролистай до Additional Information.
- Нажми Transfer App. Может понадобиться код двухфакторной аутентификации.
- Если все критерии выполнены, нажми Continue. Если нет, Cancel, и исправь недостающее.
- Введи Apple ID владельца-получателя и его Team ID, затем Continue.
- Прочитай условия, поставь галочку согласия и нажми Request Transfer.
- Нажми Done.
Приложение сохраняет свой статус, к которому добавляется пометка Pending App Transfer. В это время ты не можешь менять его метаданные, цену, доступность и встроенные покупки. Текущие переписки с App Review закрываются.
Шаги на стороне получателя
Принять перенос может только владелец принимающего аккаунта, в течение 60 дней. Согласно справке по принятию:
- Войди в App Store Connect: уведомление сообщит о приложении для переноса.
- Открой Business: уведомление появится в Agreements.
- В разделе App Transfers нажми Review.
- Укажи URL поддержки, маркетинговый URL и URL политики конфиденциальности, если они были у приложения, а также контакты для App Review и App Store.
- В User Access выбери, кто в твоей команде видит приложение.
- В App privacy возьми ответы прежнего владельца или заполни заново. Если ответов нет, заполни их до следующей версии.
- Прочитай условия, поставь галочку согласия и нажми Accept.
Перенос переходит в статус Processing App Transfer, до двух рабочих дней. Если приложению нужны экспортные документы, оно проходит через Waiting for Export Compliance. В конце оба владельца получают уведомление, и приложение исчезает из аккаунта передающего. Затем получатель создаёт новые профили обеспечения (provisioning profiles), привязанные к App ID приложения и его сертификату распространения: смотри сертификаты и профили iOS.
Пока статус Waiting for Recipient, отменить может любая сторона: Cancel Transfer у передающего, Decline у получателя, в разделе App Transfers в Business.
Что переходит вместе с приложением и что ломается
| Элемент | После переноса | Что сделать |
|---|---|---|
| Bundle ID и App ID | Переходят, wildcard App ID становится явным | Ничего |
| Оценки, отзывы, обновления | Переходят, приложение остаётся в продаже | Ничего |
| Автовозобновляемые подписки | Требуют общий секрет конкретного приложения | Секрет передан до, перегенерирован после |
| iCloud | Данные, контейнеры и key-value идентификаторы переходят | Обновить key-value идентификаторы в entitlements |
| Service ID Sign in with Apple | Переходит, если ты заранее не убрал привязку | Обменять идентификаторы переноса в течение 60 дней |
| Вебхуки | Переходят | Удалить до или перенаправить после |
| Push-уведомления | Сертификаты действуют до истечения срока | Ключ APNs получателя, обновлённые серверы |
| Общая связка ключей | Работает до следующего обновления | Группа заново создана с Team ID получателя |
| App Groups | Приложение остаётся доступным | Группа удалена у передающего, зарегистрирована у получателя |
| Apple Pay | Merchant ID не переходит | Новый merchant ID до следующего обновления |
| Карты Wallet | Те, что обновляет приложение, нужно перевыпустить | Новый идентификатор |
| Промокоды | Новые коды больше не создаются | Старые коды действуют четыре недели |
| Продажи и выплаты | Передающему остаётся всё до, получателю всё после | Экспортировать до запуска |
| App Analytics | Передающий теряет доступ, получатель получает историю | Ничего |
| Номинации, история бандлов | Не переходят | Записать и передать до запуска |
Связка ключей заслуживает особого внимания. Apple предупреждает: после обновления приложение больше не находит токен входа, сохранённый в общей связке ключей, и пользователям придётся один раз войти заново. Если твоё приложение делит связку ключей с другим приложением или расширением, предупреди пользователей до публикации этого обновления.
В Game Center группы, объединённые таблицы лидеров и правила матчмейкинга получатель настраивает заново. Приложения Mac Catalyst переносятся в два этапа, сначала iPad-приложение.
Sign in with Apple: идентификаторы переноса
В Sign in with Apple идентификатор каждого пользователя привязан к твоей команде. Получатель не может использовать его как есть. Документация Apple по переносу пользователей предусматривает три этапа:
- Разгруппируй приложения. Приложение, сгруппированное с другими для Sign in with Apple, перенести нельзя.
- Сгенерируй идентификатор переноса для каждого пользователя. С токеном, полученным в scope
user.migration, вызываешь эндпоинтusermigrationinfoс идентификатором пользователя и Team ID получателя. В ответе будетtransfer_sub. - Передавай только идентификаторы переноса. Ни идентификаторы твоей команды, ни приватные адреса почты.
Эти идентификаторы можно сгенерировать до принятия или в течение 60 дней после. У получателя есть 60 дней после принятия, чтобы обменять их на свои собственные идентификаторы. Запланируй этот обмен до запуска переноса. Ещё одно последствие: если у пользователя нет ни одного другого твоего приложения, после переноса ты уже не сможешь написать ему на приватный адрес. Правила входа описаны в guideline 4.8.
Сроки, которые надо помнить
| Этап | Срок |
|---|---|
| Принятие получателем | 60 дней после запуска |
| Обработка после принятия | До двух рабочих дней |
| Обмен идентификаторов Sign in with Apple | 60 дней после принятия |
| Существующие промокоды | Четыре недели после создания |
| Сертификаты APNs при переносе | До даты истечения |
Мой список для приложения на Expo с RevenueCat
Вот что я бы проверил по порядку для одного из своих приложений:
- Экспортировать продажи, загрузки и аналитику до запуска.
- Дождаться, пока последняя версия окажется в продаже, а встроенные покупки получат допустимый статус.
- Отключить TestFlight: сборки, тестировщики и Test Information.
- Передать общий секрет конкретного приложения, затем запустить перенос.
- На стороне получателя после принятия: новый общий секрет, прописанный во всех сервисах, которые проверяют подписки, включая RevenueCat. Ключи встроенных покупок создаются в Users and Access, вкладка Integrations, и скачиваются только один раз, согласно справке App Store Connect.
- Проверить адрес серверных уведомлений в карточке приложения. На странице Apple о переносе про него ничего нет: проверь его, а не полагайся на догадки.
- Пересоздать профили и ключ APNs в аккаунте получателя. Для приложения на Expo порядок действий описан в статье push-сертификат APNs с Expo.
- Опубликовать обновление, подписанное новым аккаунтом, предупредив о повторном входе, если связка ключей общая.
Публиковать, не теряя того, что работает
iOS & Android Kit начинается со стартового кода моих приложений и ведёт тебя в четыре этапа до App Store, в твоём темпе. Весь процесс описан на странице опубликовать приложение в App Store.
Прежде чем что-то менять, пройди бесплатную диагностику: она расставит шаги по порядку и пришлёт тебе мой чек-лист против отказов Apple.
Частые вопросы
Сколько времени занимает перенос приложения в App Store?
У получателя есть 60 дней на принятие. После принятия Apple заявляет до двух рабочих дней на обработку. Если приложению нужны экспортные документы, добавляется этап проверки.
Пропадает ли приложение из App Store во время переноса?
Нет. Приложение остаётся в продаже во время и после переноса. Оно сохраняет оценки, отзывы и Bundle ID, а пользователи продолжают получать обновления.
Сохраняют ли подписчики подписку после переноса?
Apple не описывает никаких перерывов для подписчиков. Единственное требование касается общего секрета конкретного приложения: передающий отдаёт его заранее, получатель обновляет свои серверы, а после переноса генерирует новый.
Можно ли перенести приложение, которое ни разу не публиковалось?
Нет. У приложения должна быть хотя бы одна версия, опубликованная в App Store. Также оно не должно быть на предзаказе или на ревью.
Кто может запустить и принять перенос приложения?
Только владельцы аккаунтов, их называют Account Holder. Передающему нужен Apple ID владельца-получателя и Team ID его аккаунта.
Можно ли отменить перенос приложения?
Да, пока статус Waiting for Recipient. Передающий нажимает Cancel Transfer, а получатель Decline, в разделе App Transfers в Business. Если ответа нет, перенос истекает через 60 дней.

