Ionic: Запуск приложения на iOS и TestFlight

Как бы ни был удобен Ionic View для запуска и тестирования своего приложения на iOS, у него есть один существенный минус - это контейнер, поэтому, например, невозможно получать push-увдомления. И второе, список нативных плагинов, поддерживаемых в Ionic View - ограничен. Например Camera работать будет, а вот CameraPreview - нет.

Сегодня я расскажу, как настроить себе среду для сборки и запуска приложения на MacBook. Процесс достаточно муторный, но сделать надо всего один раз.

Действия ниже можно сделать и в VirtualBox, это менее удобно, но возможность компиляции, запуска и отправки приложений в AppStore через виртуальную машину - есть. Из личного опыта.

Часть 0

Для того, чтобы работать с приложением на MacBook под iOS необходимо иметь Apple Developer Account, он платный, 99 долларов в год. Поэтому без него никуда. Все шаги ниже подразумевают, что он есть. Зарегистрировать его труда не составляет, рассказывать я про это не буду, так как гугл знает это лучше меня.

Часть 1

В этой части ставим Xcode, разбираемся с сертификатами, добавляем свое устройство в Apple Developer Account.

Шаг 1

Наверное это самый простой шаг. Открываем AppStore, вводим в поиске xcode, ищем, находим и ставим.

Установка Xcode

Шаг 2

Теперь нам надо сделать запрос на получение сертификата для нашего приложения. Для этого на MacBook ищем приложение Keychain Access, там в меню выбираем Keychain Access -> Request a Certificate From a Certificate Authority. В появившемся окне указываем свою почту и свое имя, почта в обоих поля может быть одинаковая. Обязательно выбираем Saved to disk, чтобы сохранить наш запрос, например на рабочий стол.

В результате у нас будет на рабочем столе файл с расширением .sertSigningRequest.

Процесс создания запроса на сертификат

Шаг 3

Приступим к получению сертификата на основе нашего запроса - файла .sertSigningRequest. Для этого переходим в раздел создания сертификатов в Apple Developer Account и нажимаем на плюсик в правом верхнем углу списка сертификатов.

В первом шаге выбираем OS App Development, в последующем шаге выбираем наш файл .sertSigningRequest и далее завершаем генерацию сертификата. В конце его можно скачать к себе, но это не обязательно сейчас.

Шаг 4

Добавим наше личное устройство. Для этого переходим в раздел создания добавления устройств в Apple Developer Account и нажимаем на плюсик в правом верхнем углу списка устройств.

Имя укзываем любое, например My Iphone, а вот UDID нужно подсмотреть и скопировать в Xcode. Открываем Xcode, переходим в меню Window -> Devices and Simulators, в появившемся окне кликнуть на Identifier. После этих манипуляций отобразится UDID, который копируем и вставляем в форму добавеления устройства. И завершаем добавление.

UDID

Часть 2

В данной части мы установим NPM, Ionic, перенесем проект-приложение и установим необходимые библиотеки.

Скачиваем и устанавливаем NPM с официального сайта. После того, как NPM установлен, запускаем установку Ionic следующей комадой в терминале:

npm install -g ionic cordova

Если уже есть существующий проект приложения, то необходимо скопировать на MacBook папки resources/, src/ и все корневые файлы.

Так же, в большинстве случаев будет требоваться библиотека Cocoapods, поэтому превентивно ее поставиим командной в терминале:

sudo gem install cocoapods

Теперь добавим платформу iOS в наше приложение. Для этого в папке с проектом в терминале нужно выполнить команду:

ionic cordova platfrom add ios

Часть 3

Самая короткая часть. В терминале, в папке с проектом, запускаем команду построения приложения:

ionic cordova build ios --prod

Если все сделано верно, то в конце построения должно быть написано BUILD SUCCESSFUL.

После сборки, не выходя из терминала, переходим в папку platforms/ios и выполняем следующую команду:

pod init
pod install
При любом изменении самого приложения, всегда нужно делать новую сборку

Часть 4

Теперь мы будем работать с Xcode. После сборки приложение в папке platforms/ios есть файл с названием проекта с расширением .scworkspace. Это собранный проект под Xcode. Дважды щелкаем на него, чтобы запустить Xcode.

После того как Xcode открыт, необходимо связать его с учетной запись Apple, о котором говорилось в нулевом шаге. Делается это через меню Xcode -> Preferences -> Account -> Add (Plus) -> AppleID.

Теперь переходим к настройкам нашего приложения, и выставляем и как (с учетом аккаунта) на скриншоте ниже:

Там же в настройках переходим на закладку Build Settings, выбираем All и ищем секцию Code Signing Identity и напротив нее выбираем iOS Developer:

Теперь мы можем проверить наше приложение на телефон, подключаем телефон к MacBook, выбираем его в списке и нажимаем Run, как на скриншоте ниже:

А чтобы получить архив для тестирования в TestFlight или для публикации приложения, необходимо выбрать в списке устройств Generic iOS Device, и дальше воспользоваться пунктом Product -> Archive. В результате будет сформирован архив, который можно отправить в на сервер Apple для последующего тестирования в TestFlight или для публикации в AppStore