Публикация пассажирского iOS-приложения в App Store

Пошаговая инструкция для партнера Project24: как подготовить Apple Developer, создать приложение в App Store Connect, получить API key и заполнить поля в кабинете.

Что понадобится

Активный Apple Developer Account.
Доступ в App Store Connect с правами создания приложения и API key.
Название приложения, иконка, контакты поддержки, ссылка на политику конфиденциальности.
Bundle ID приложения, например ru.project24.partner1.
Если приложение уже создано в App Store Connect, можно сразу перейти к разделу API key и кабинету партнера.

1. Создайте Bundle ID

  1. Откройте Apple Developer → Identifiers.
  2. Нажмите +.
  3. Выберите App IDs, затем App.
  4. В поле Description укажите название приложения.
  5. В поле Bundle ID выберите Explicit и введите идентификатор, например ru.project24.partner1.
  6. Нажмите Continue и Register.
Что вставить в кабинет: скопируйте созданный Bundle ID, например ru.project24.partner1, и вставьте его в поле Apple Bundle ID блока Apple ID / Sign in with Apple.
Bundle ID должен совпадать с Apple Bundle ID в кабинете партнера. Если они отличаются хотя бы одним символом, iOS-сборка или загрузка в TestFlight не пройдет.

2. Включите нужные capabilities

  1. Откройте созданный App ID в Apple Developer.
  2. Включите Sign in with Apple. В открывшемся окне настроек оставьте вариант Enable as a primary App ID. Для пассажирского приложения Project24 дополнительных группировок и Service ID здесь настраивать не нужно.
  3. Включите Push Notifications, если пассажирское приложение должно получать уведомления о заказах.
  4. Внутри Push Notifications не включайте Broadcast Capability. Это отдельная возможность Apple для live-activity broadcast push и для обычных уведомлений о заказах она не нужна.
  5. Кнопку Configure рядом с Push Notifications обычно нажимать не нужно: EAS/Expo использует APNs Auth Key и сам подготовит нужные credentials при сборке. Если Apple показывает Certificates (0), это нормально.
  6. Сохраните изменения.
EAS при сборке может синхронизировать capabilities, но лучше заранее включить их в Apple Developer, чтобы не ловить ошибки подписи.
Итого для этого экрана: галочки нужны только на Sign in with Apple и Push Notifications. Broadcast Capability оставляем выключенным, Configure для push не трогаем.

3. Создайте приложение в App Store Connect

  1. Откройте App Store Connect → Apps.
  2. Нажмите +New App.
  3. Выберите платформу iOS.
  4. Введите название приложения.
  5. Выберите Bundle ID, который создали в Apple Developer.
  6. Укажите SKU, например project24-partner1-ios.
  7. Нажмите Create.

Где взять ASC App ID

После создания приложения откройте его страницу. В адресной строке будет ссылка примерно такого вида:

https://appstoreconnect.apple.com/apps/6781361816/testflight/ios

Число после /apps/ — это ASC App ID. В примере это 6781361816.

Что вставить в кабинет: число из URL App Store Connect вставьте в поле ASC App ID блока Apple ID / Sign in with Apple.

4. Создайте App Store Connect API Key

  1. Откройте Users and Access → Integrations → App Store Connect API.
  2. Если API-доступ еще не включен, включите его.
  3. Нажмите Generate API Key.
  4. Название можно указать, например Project24 EAS Submit.
  5. В роли выберите App Manager.
  6. Скачайте файл AuthKey_XXXXXXXXXX.p8.
  7. Скопируйте Key ID из строки ключа.
  8. Скопируйте Issuer ID в верхней части страницы App Store Connect API.
  9. Откройте Apple Developer → Membership details и скопируйте Team ID.
  10. Определите тип команды: для личного аккаунта выберите INDIVIDUAL, для аккаунта компании — COMPANY_OR_ORGANIZATION.
Что вставить в кабинет: Team ID вставьте в поле Apple Team ID, тип команды выберите в Apple Team Type, Key ID вставьте в поле Key ID, Issuer ID вставьте в поле Issuer ID, а содержимое файла AuthKey_XXXXXXXXXX.p8 вставьте в поле Private key .p8.
Файл .p8 обычно можно скачать только один раз. Сохраните его в надежном месте. В кабинет вставляется содержимое файла, включая строки BEGIN PRIVATE KEY и END PRIVATE KEY.

5. Заполните поля в кабинете партнера

  1. Откройте кабинет партнера → раздел Приложение.
  2. В блоке Apple ID / Sign in with Apple включите Apple-вход.
  3. В поле Apple Bundle ID вставьте Bundle ID из Apple Developer, например ru.project24.partner1.
  4. Поле Apple Service ID для обычного iOS-входа через Apple оставьте пустым. Оно нужно только для отдельного web-входа через Apple.
  5. В поле ASC App ID вставьте число из URL приложения в App Store Connect.
  6. В поле Apple Team ID вставьте Team ID из Apple Developer.
  7. В поле Apple Team Type выберите тип аккаунта Apple Developer: INDIVIDUAL для личного аккаунта или COMPANY_OR_ORGANIZATION для компании.
  8. В поля Key ID и Issuer ID вставьте значения из App Store Connect API Key.
  9. Откройте файл .p8 как текст и вставьте содержимое в поле Private key .p8.
  10. Поле Expo Project ID можно оставить пустым: при первой iOS-сборке кабинет сам создаст/свяжет EAS project и сохранит ID. Заполняйте его вручную только если Expo-проект уже создан заранее.
  11. Нажмите Сохранить.
Private key .p8 хранится на сервере зашифрованно и используется только для отправки iOS-сборки в App Store Connect.

6. Соберите iOS и отправьте в App Review

  1. В кабинете партнера нажмите Собрать iOS + TestFlight.
  2. В логе кабинета дождитесь сообщения iOS EAS build finished и ссылки App Store Connect. Это означает, что файл .ipa собран и отправлен в Apple.
  3. Откройте ссылку App Store Connect из лога или перейдите в App Store Connect → Apps, выберите свое приложение и откройте вкладку TestFlight.
  4. В TestFlight откройте iOS в боковом меню. Новый build сначала может отображаться как Processing. Это нормальный этап: Apple проверяет загруженный файл, подпись, версию и метаданные.
  5. Дождитесь, пока статус изменится с Processing на доступный для тестирования статус. Обычно это занимает 5-30 минут, но иногда Apple обрабатывает сборку дольше.
  6. Если Apple пришлет письмо на email владельца аккаунта, откройте его: там обычно написано, что build обработан, либо указана причина, почему build нельзя использовать.
  7. После обработки сборки перейдите в раздел версии приложения, например App Store → iOS App → версия 1.0.0, выберите обработанный build в поле Build и отправьте приложение на App Review.
Пассажирское приложение Project24 собирается из уже проверенного шаблона платформы. Для обычного партнера внутреннее и внешнее TestFlight-тестирование не является обязательным этапом: TestFlight здесь нужен прежде всего как место, где Apple показывает загруженный build перед выбором его для публикации.

Как понять, что Apple обработала сборку

Сборка обработана, когда во вкладке TestFlight → iOS рядом с нужной версией и номером build больше нет статуса Processing. После этого build можно выбрать в карточке версии приложения и отправить на проверку Apple.

Что должно появиться в результате:

  • в App Store Connect → TestFlight видна версия приложения, например 1.0.0;
  • внутри версии виден номер build, например 2, 3 и далее;
  • у build нет статуса Processing;
  • в карточке версии App Store можно выбрать этот build в поле Build.

Как отправить обработанный build на проверку Apple

  1. Откройте приложение в App Store Connect → Apps.
  2. Перейдите в App StoreiOS App → нужная версия, например 1.0.0.
  3. Заполните обязательные поля карточки: описание, ключевые слова, URL поддержки, URL политики конфиденциальности, категорию, возрастной рейтинг, данные о конфиденциальности и скриншоты.
  4. В блоке Build нажмите Select a build или + и выберите обработанную сборку.
  5. Проверьте, что у версии нет красных ошибок и незаполненных обязательных блоков.
  6. Нажмите Add for Review, затем на странице отправки нажмите Submit to App Review.

Что писать в поля на экране версии 1.0

На странице Распространение → iOS App → Версия 1.0 Apple просит заполнить карточку приложения. Ниже простые подсказки: что обязательно, что можно оставить пустым и какой текст можно взять за основу.

В примерах замените «Такси Проект24» на настоящее название приложения партнера, а телефон, email и сайт — на контакты партнера. Если у партнера нет отдельного сайта, используйте страницы платформы Project24, например https://project24taxi.com/privacy для политики конфиденциальности.
Поле в App Store Connect Что делать Пример для приложения такси
Видео для предпросмотра и снимки экрана Загрузите скриншоты приложения. Видео можно не добавлять. Для iPhone обычно достаточно 3-5 вертикальных скриншотов: экран входа, карта/заказ, выбор адреса, тарифы, профиль или история. Скриншоты должны быть без debug-плашек, ошибок, лишних уведомлений и личных данных. Если App Store просит размер 6,5 дюйма, подойдут скриншоты с iPhone 13 Pro Max/14 Plus/15 Plus/16 Plus или подготовленные изображения такого размера.
Рекламный текст Необязательное поле до 170 символов. Можно оставить пустым. Если заполняете, напишите короткое предложение без обещаний вроде “самое дешевое”. Быстрый заказ такси: укажите адрес, выберите тариф и отслеживайте поездку в приложении.
Описание Обязательное поле. Опишите простыми словами, что пассажир делает в приложении. Не пишите про внутреннюю платформу, сборки, TestFlight или кабинет партнера.
Такси Проект24 — приложение для быстрого заказа поездки по городу. В приложении можно: • указать адрес подачи и адрес назначения; • выбрать подходящий тариф; • оформить заказ; • видеть информацию о поездке; • получать уведомления о статусе заказа. Приложение предназначено для пассажиров службы такси.
Ключевые слова До 100 символов. Слова пишутся через запятую, без пробелов после запятых. Не используйте чужие бренды: Яндекс, Uber, Maxim и т.п. такси,заказ такси,поездка,водитель,город,пассажир
URL-адрес службы поддержки Обязательное поле. Укажите страницу, где пользователь может найти контакты поддержки. Это должна быть обычная ссылка, которая открывается в браузере. https://24tt365.ru/support
или страница партнера с телефоном и email поддержки.
Маркетинг (URL) Необязательное поле. Можно оставить пустым. Заполняйте только если у партнера есть отдельный сайт или страница приложения. https://24tt365.ru/ или пусто.
Версия Оставьте 1.0 или 1.0.0. Это публичная версия приложения для пользователей. При следующей крупной публикации можно будет сделать 1.1 или 1.0.1. 1.0
Авторские права Обязательное поле. Напишите год и юридического владельца приложения: ИП, ООО или ФИО владельца аккаунта. Символ © можно не ставить, но с ним выглядит привычнее. © 2026 ИП Иванов Иван Иванович
или © 2026 ООО «Такси Проект24»
Файл с данными о зоне покрытия Для нашего приложения не нужен. Это специальный файл для приложений маршрутизации, которые встраиваются в системные карты Apple. Оставьте поле пустым. Ничего не загружать.
Build / Сборка Ниже на этой же странице выберите обработанную сборку, которую кабинет отправил в TestFlight. Без выбранного build Apple не даст отправить приложение на проверку. Выберите самый свежий build с максимальным номером, например 3 или 4.

Еще несколько обязательных разделов слева

Кроме полей на текущем экране, App Store Connect может требовать заполнить разделы в левом меню. Если кнопка Добавить для проверки неактивна, пройдитесь по этим пунктам.

Раздел слева Как заполнить просто
Информация о приложении Проверьте название, подзаголовок и категорию. Категория обычно Путешествия или Навигация. Если сомневаетесь, выберите Путешествия.
Возрастной рейтинг Ответьте на вопросы Apple. Для обычного приложения такси обычно нет насилия, азартных игр, медицины, алкоголя и контента 18+. В конце Apple рассчитает рейтинг автоматически.
Конфиденциальность приложения Укажите данные, которые использует приложение: номер телефона, геолокация, идентификатор устройства/push-токен, данные поездки. Если Apple спрашивает цель, выбирайте работу приложения, аналитика/диагностика только если реально используется.
URL политики конфиденциальности Укажите ссылку на политику. Если отдельной политики партнера нет, используйте https://project24taxi.com/privacy.
Проверка приложения / Review Notes Напишите Apple, как войти в приложение. Например: Для проверки используйте вход по номеру телефона. Если SMS не приходит на зарубежный номер, напишите нам, мы предоставим тестовый доступ.
Не пишите в описании и рекламном тексте фразы “официальное приложение Apple”, “самое дешевое такси”, “гарантированная подача” или названия чужих сервисов. Apple может отклонить приложение из-за недостоверных обещаний или чужих брендов.
Если кнопка отправки недоступна, App Store Connect обычно подсвечивает, какой обязательный раздел не заполнен. Чаще всего не хватает скриншотов, privacy details, возрастного рейтинга, URL поддержки или выбранного build.

Тестирование через TestFlight, если партнер все-таки хочет проверить сам

Это необязательный этап. Он нужен только если партнер хочет установить приложение на iPhone до публикации в App Store. Для стандартного партнерского запуска можно пропустить этот блок и сразу отправлять обработанный build в App Review.

  1. Внутреннее тестирование: добавьте Apple ID тестировщика в App Store Connect → Users and Access, затем добавьте его в группу TestFlight → Internal Testing. Внутренний тестировщик должен принять приглашение Apple по email.
  2. Установка на iPhone: тестировщик устанавливает приложение TestFlight из App Store, принимает приглашение и нажимает Install на карточке приложения.
  3. Внешнее тестирование: создайте группу в TestFlight → External Testing и отправьте build на Beta App Review. Это отдельная проверка Apple, поэтому для быстрого запуска партнера обычно не нужна.
Привязанный iPhone в Apple Developer нужен для ad hoc/development-сборок. Для TestFlight обычно не нужно заранее добавлять UDID устройства: тестировщик устанавливает приложение через TestFlight по Apple ID и приглашению.

Минимальная проверка перед отправкой

  • название, иконка и Bundle ID в App Store Connect соответствуют партнеру;
  • в карточке версии выбран свежий build;
  • политика конфиденциальности и контакты поддержки заполнены;
  • скриншоты и описание соответствуют пассажирскому приложению партнера;
  • если Apple попросит тестовый доступ, укажите в поле Review Notes, что вход выполняется через Apple ID и номер телефона.
Если сборка не стартует, проверьте, что Bundle ID, ASC App ID и App Store Connect API Key относятся к одному Apple Developer Team.

7. Что подготовить перед ревью Apple

  • Описание приложения.
  • Скриншоты для нужных размеров устройств.
  • Политику конфиденциальности.
  • Контакты поддержки.
  • Возрастной рейтинг.
  • Privacy Nutrition Labels.
  • Тестовый аккаунт или инструкция для ревью, если Apple нужно войти в приложение.

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

Можно ли взять ASC App ID до создания приложения?

Нет. ASC App ID появляется только после создания карточки приложения в App Store Connect.

Bundle ID и ASC App ID — это одно и то же?

Нет. Bundle ID выглядит как ru.project24.partner1, а ASC App ID — это число в URL App Store Connect.

Что менять в настройках Sign in with Apple?

Для нашего iOS-приложения достаточно поставить галочку Sign in with Apple и оставить Enable as a primary App ID. Отдельный Service ID нужен только для веб-входа через Apple, в обычной iOS-сборке Project24 его можно не создавать.

Нужно ли заполнять Apple Service ID в кабинете?

Нет, для текущего пассажирского iOS-приложения поле Apple Service ID оставляем пустым. Вход через Apple работает как native iOS-вход по Apple Bundle ID. Service ID понадобится только если позже будет отдельный веб-вход через Apple; тогда его создают в Apple Developer → Identifiers → Services IDs и копируют Identifier созданного Service ID.

Нужен ли Broadcast Capability в Push Notifications?

Нет. Для уведомлений о заказах нужна только галочка Push Notifications. Broadcast Capability не включаем, а Configure рядом с Push Notifications можно не открывать, если сборка идет через EAS/Expo.

Партнеру нужен SSH-доступ к серверу?

Нет. Партнер заполняет Apple-данные в кабинете и нажимает кнопку сборки. Серверная инфраструктура настраивается владельцем платформы.