Этот материал подходит для тех, кто самостоятельно решил публиковать свое мобильное приложение, созданное исключительно на нашем сервисе.

Как это все происходит? В действительности, это состоит из трёх этапов: выгрузка исходного кода приложения, компиляция и отправка через Xcode, отправка на проверку в App Store.

1. Выгрузка исходного кода приложения под Xcode

С 2018 года, App Store начал придираться к сообщениям в модальных окнах. Вот пример отклонения:

1.1. Чтобы у вас таких проблем не возникло, необходимо заполнить данные верно. Приступим к заполнению info.plist. В редакторе вашего конструктора зайдите в «Настройки», а затем в «Дополнительно», там вам необходимо настроить ориентацию переворотов экрана для iPad и iPhone.

1.2. Затем, заполните описание для модальных сообщений с оповещениями. Опишите, почему ваши приложения требует те или иные разрешений. Рекомендуем писать причины на английском языке как для даунов.

1.3. Готово. Можно приступать к выгрузке.

1.4. Войдите в свой бэкоффис по ссылке https://www.вашдомен.ru/backoffice, затем во вкладку Управление(Manage) / Applications / Выберите нужное Вам приложение, кликнув на «глазик». В развернутом окне, прокрутите до секции экрана ниже до Mobile Source Codes & Builds. Тут нужно нажать на ссылку для генерации Generate sources и подождать 2 — 5 минут, и тогда исходник в виде зипархива придёт Вам на почту (если вы не будете использовать внутри приложения AdMob рекламу, то нажимайте Generate sources на против iPhone Version (No Ads)). Пару минут и исходник готов. Важно учесть, что вам необходимо заранее загрузить Стартовые изображения (StartUp Images) и Главную Иконку приложения (App icon).

2.1. Подготовка к отправке с помощью Xcode и генерация корневого сертификата «.pem» для Push сообщений

Сама сложность в том, что Вам необходимо сначала создать файл CSR и сертификаты iOS Distribution. Которые потому будут использоваться для следующих публикаций новых приложений под Вашим developer account –> хранить их надо очень бережно, не терять.

И так, делаем файл CSR:
Он создается через keychain tool (Связка ключей) на Вашем Mac. Открываем Applications

(Приложения)> Utilities (Утилиты) > Keychain Access (Связка ключей):

В верхнем меню выбираем “Связка ключей” > “Ассистент Сертификатов” > “Запросить сертификат у бюро…”:

В открывшемся окне, введите email от developer account (или другой адрес доверенного лица), и вводим имя от developer account (например, Michael Ivanov), и выбираем “Сохранить на диск”:

Сохраняем полученный CSR на диск, желательно в отдельно созданной папке для разработчиков. Закрываем окошко.
Затем, приступаем к созданию iOS Distribution certificate:
– Авторизуемся под своим аккаунтом разработчика Apple .
– Жмем на “Certificates, Identifiers & Profiles”, далее выбираем режим iOS, затем переходим в раздел “Certificates”.


– Жмем на “Production” в меню “Certificates”(это слева):

– Жмем на “+” в правом верхнем углу
– Выбираем “App Store and Ad Hoc” и жмем на “continue”:

– Жмем еще раз на “continue”.
– Подписываем новый iOS Distribution certificate с помощью ранее созданного CSR (из связки ключей).
– Скачиваем ios_distribution certificate. Сохраняем его в ту папку, где сохраняли CSR.

– Необходимо установить этот ios_distribution certificate в «Связку ключей»(Двойным кликом)

– Внимание! Эти шаги делаются только ОДИН РАЗ!!!

2.2. СОЗДАЕМ ПРЕДМЕТЫ, КОТОРЫЕ ОТНОСЯТСЯ К САМОЙ КОМПИЛЯЦИИ БУДУЩИХ ПРИЛОЖЕНИЙ.

APS Production certificate:

Благодаря следующему сертификату, вы сможете использовать в приложении push notifications, in- app purchase (внутреннюю продажу), и другие сервисы. В нашем случае, лишь интересен сервис push notification.

– Жмем на “App IDs” в “Identifiers”:

– Жмем на “+” справа

– Вводим название приложения на латинском и bundle id приложение, который можно найти в Вашем бэкофисе:

– Крутим ниже до “Push Notifications” и отмечаем галочкой в списке “App Services”:

– Жмем “continue”
– Жмем на “continue”, жмем на “submit”, жмем на “done”
– Затем, в списке этого же раздела найдите то приложение, которое Вы только что создали.
– Жмем “edit”
– Крутим вниз до “Production SSL Certificate” и жмем на “Create Certificate”
– Снова жмем на “continue”
– Жмем на “choose file” и загружаем тот самый CSR , который Вы создавали в самом начале.

– Скачиваем полученный aps_certificate. Сохраняем в папку, где будут храниться файлы этого нового приложения. Я бы создал папку на рабочем столе «Apps», в ней еще папку «То самое App».

– Жмем на “done”

2.3. Создаем еще сертификат Provisionning Profile:

– жмем на “distribution” в меню “Provisionning profile”:

– Жмем на “+” справа.
– Выбираем “App Store” под режимом “Distribution”:

– Выбираем тот самый app ID который был ранее создан, даем название на латинском и жмем на “continue”

– Ставим галочку на тот iOS Distribution certificate, который был ассоциирован с CSR вашего Мака, им же ранее подписывался при генерации aps_production (это важно запомнить, что iOS Distribution должен быть подписан тем же сертификатом CSR, которым подписывали ранее созданный aps.cer. В противном случае, Вам придется проделать повторно процедуру выше с создание нового aps.cer)

– Жмем на “continue”

– Скачиваем полученный ios provisionning profile. Сохраняем в ту же папку, где сохраняли ранее полученный aps_production certificate.

2.4. Создаем корневой сертификат для вашего бэкофиса «.pem»:

– Снова зайдите в утилиту «Связка ключей» на Вашем Маке

– В меню, слева переключаем на “Certificates”

– найдите Ваше приложение по bundle ID в правом окне

– жмите на стрелочку слева от надписи “Apple Push Service” certificate, Приватный ключ должен быть в него вложен

– Разверните эту строку,

– Удерживая клавишу «CMD» выделяем ту строку с надписью “Apple Push Service” и вложенный сертификат,
– Правой кнопкой мыши,
– Выбираем export в режиме .p12,
– Выбираем сохранить пока на рабочий стол под именем «Certificates»
– Создаем пароль экспорта(password) на свой вкус. После сохранения должно получиться так: Certificates.p12 – Открываем другую утилиту консоль Terminal на Вашем Mac (Это в Applications > Utilities > Terminal)

– В терминале, необходимо, чтобы перевести работу на рабочий стол
– Вводим команду: cd /desktop, ENTER
– Вводим команду: openssl pkcs12 -in Certificates.p12 -out certificat.pem -nodes -clcerts , ENTER

– Введите password, который использовался при экспорте. ENTER

– На рабочем столе должно появиться 2 сертификата: Certificates.p12 и certificat.pem.

– Перетащите их в тут папку, которую вы создали на Mac под новое приложение (с provisionning profile и aps.cer). Пусть будет порядок на компьютере

– Закачайте созданный certificat.pem через backoffice – Управление – «То самое App» (жмем на глазик), крутим вниз.

2.5. Компиляция и отправка в iTunes Connect.

– Находим ранее скаченный исходный код,

– Распаковываем содержимое,

– Запускаем файл с расширением «.xcworkspace»

– Запускаем сразу же сертификат iOS Provision (файл с расширением «.mobileprovision»)

– Во вкладке «General» устанавливаем зависимый сертификат «.mobileprovision». Список предложит автоматически ранее запущенный «.mobileprovision»

– Ниже в этой же вкладке, в секции Deployment Info, можно включить или отключить ротацию экрана,

– Во вкладке Build Debice, необходимо выбрать Generic iOS Debice

– Во вкладке INFO не забудьте удалить строку «App Plays Audio or sreams». в том случае, если Ваше приложение не имеет музыкальный характер и требует фоновое звучание музыки. В противном случае, приложение будет отклонено.

– Готово! Можете отправлять свою сборку. В шапке самой программы, нажмите Product, затем Archive. Начнется компиляция сборки. На предупреждения и «треугольники «не обращаем внимание. Ожидайте пару минут…

– Готово! Нажимайте Upload To App Store

– Продолжаем!

– Подписываем сертификатом!

– Продолжаем! И отправляем в iTunes

– Через минут 10, Вам придет на почту уведомлении об успешной компиляции сборки,

– Можете приступать к созданию скриншотов, используя Xcode. Вам потребуется запустить эмулятор 2 моделей: iPhone 8Plus и iPad 12^9. Эти скриншоты можно использовать в публикации.

3. Вы можете оформлять своё приложение в iTunes Connect

Успехов Вам в начинании