Публикация в App Store

FlutterFlow отправляет сборки в App Store прямо из редактора. Ниже — что подготовить, как пройти настройку по шагам и что делать с типовыми отказами.

инфо
Что нужно заранее

Порядок выкатки

1. Создать Bundle ID

Bundle Identifier — уникальная строка, по которой Apple опознаёт приложение. Записывается как перевёрнутое доменное имя: com.example.myapp.

Откройте Certificates, IDs & Profiles, добавьте новый App ID и заполните:

  1. Bundle ID — скопируйте Package Name из FlutterFlow.
  2. Description — короткое описание приложения.
  3. Capabilities — возможности, которые приложение использует. Обязательно отметьте Push Notifications, если есть уведомления, и Sign In with Apple, если есть вход через Apple.

2. Завести приложение в App Store Connect

App Store Connect — место, откуда приложения отправляются на проверку и где ведутся их метаданные. Откройте App Store Connect и создайте запись приложения по инструкции Apple.

3. Указать Apple App ID в FlutterFlow

По App ID Apple связывает приложение с вашей командой разработки.

Откройте App Store Connect → My Apps, скопируйте Apple ID из раздела App Information и вставьте в поле App ID в FlutterFlow → Settings & Integrations → Mobile Deployment → App Store.

4. Создать ключ API и загрузить в FlutterFlow

Откройте App Store ConnectUsers and AccessIntegrations → Team Keys. Если ключей ещё не было, там будет кнопка Request Accessкак это выглядит.

Нажмите Add (+), задайте имя и роль App Manager. Скачайте созданный ключ и загрузите его в Settings & Integrations → App Settings → Mobile Deployment → App Store → Private Key.

5. Указать Issuer ID

Issuer ID лежит там же: App Store ConnectUsers and AccessIntegrations → Team Keys. Скопируйте его в поле Issuer ID в настройках App Store в FlutterFlow.

6. Указать Key ID

Вернитесь в App Store Connect → Users and Access → Integrations → Team Keys, найдите строку созданного ключа, выберите Copy Key ID и вставьте значение в поле Key ID в настройках App Store в FlutterFlow.

7. Выкатить

Откройте Settings & Integrations → App Settings → Mobile Deployment → App Store и нажмите Deploy To App Store. Когда сборка дойдёт, App Store Connect пришлёт письмо о новой сборке.

Кнопка Deploy To App Store в настройках выкатки

инфо
  • При каждой выкатке Build Number увеличивается автоматически, чтобы релизы различались. Версию приложения и номер сборки можно задать вручную.
  • Если выкатка уже идёт, запуск новой отменит предыдущую.
  • Обработка занимает несколько минут; по её окончании статус меняется на Submitted.
совет

Если выкатку удобнее вести своими средствами — через собственный конвейер CI/CD или с ручным контролем версий и собственного кода, — используйте выкатку из репозитория GitHub.

8. Отправить приложение на проверку

В App Store Connect выберите My Apps и своё приложение. Откройте Prepare for Submission, заполните метаданные и материалы карточки, затем нажмите Add for Review.

Кнопка Add for Review на странице подготовки к отправке

Дальше приложение уходит на проверку в Apple. Требования — в правилах App Store Review.


Видео


Частые вопросы

Invalid App Store Icon — иконка не должна быть прозрачной или содержать альфа-канал

Замените иконку приложения в Settings & Integrations → General на изображение без прозрачности и альфа-канала.

ITMS-91053: Missing API declaration

Apple требует, чтобы приложения, использующие некоторые системные API, объявляли причину обращения к ним в файле Privacy Manifest. Требование действует с 1 мая 2024 года: без манифеста приложение не пройдёт проверку.

У большинства пакетов, которые использует FlutterFlow, манифест уже есть — его добавили авторы пакетов или команда FlutterFlow. Но встречаются и такие, где его нет. То же касается собственного кода, который обращается к этим API напрямую или через пакет.

Что делать:

  1. Проверьте, есть ли ваш пакет в списке Apple, и обновитесь до последней версии.
  2. Если непонятно, какой именно пакет обращается к защищённым API, поищите его этим анализатором, а затем обновите найденное — авторы обычно уже исправили несоответствие.
    • Убедиться можно по changelog или по наличию файла PrivacyInfo.xcprivacy в исходниках пакета (примеры: share_plus, url_launcher).
    • Если пакет так и не привели в порядок, ищите замену или пишите его сопровождающему.
  3. Если к API обращается ваш собственный код для iOS:
    • откройте Settings & Integrations → App Settings → Privacy Manifest Configuration;
    • включите нужные API и выберите причины из списка. Что означает каждая причина, описано в документации Apple.

Раздел Privacy Manifest Configuration с выбором причин обращения к API

перевод официальной документации FlutterFlow

обновлено

ESC