Вперше зіткаючись з публікацією вашого додатка в Apple Store, особливо, коли у вас декікалька розробників, всім стає складно зрозуміти, як створити Provisioning Profile і сертифікати для розробника, щоб він міг розробляти ваш додаток. В цьому пості я поясню як це зробити.
1. Розробнику потрібно запросити сертифікат
Розробнику, який буде публікувати додаток від імені компанії потрібно створити сертифікат, який буде марти формат: CertificateSigningRequest.certSigningRequest
, або скорочено CRT. Для цього вашому розробнку потрібно відкрити программу "Ключар" (Keychain), яка по дефолту встановлено на кожному маку.
В ній вам потрібно запросити сертифікат. "Ключар" - "Асистент сертифікатів" - "Замовити сертифікат у центрі сертифікації".
Далі у вас відкриється наступне вікно, де потрібно ввести вашу пошту, та поставте відмітку - "Збережено на диску", вам це потрібно, щоб створити файл CertificateSigningRequest.certSigningRequest, і в подальшому передати його компанії.
Після ваш файл буде збережено, його потрібно передати матринському аккаунту (тому хто має права додавати розробників, профілі, володар додатка короче).
2. Вам потрібно створити сертифікат на основі файлу
Перейдіть на сторінку https://developer.apple.com/account/resources/certificates/list, на ній натисність створити сертифікат. Оберіть далі Apple Development, або Apple Distribution. Девелопмент дозволяє вигружити додаток в тестфлайт, дістрібушен в прод.
Далі вам потрібно додати той файл, який надав вам розобник, про що я розказував вгорі в пункті 1.
Ваш стертифікат створено, але тепер вам потрібно зробити провіжен профайл з цим сертифікатом.
З цим сертифікатом розробник вже може працювати, але цього не достатньо для публікації. Поперше скайчайте та передайте цей файл вашому розробнику, йому він знадобиться, але про це пізніше.
3. Створення Provisioning Profile, для розробки від імені компанії
Перейдіть на сторінку https://developer.apple.com/account/resources/profiles/list, і створіть новий профіль. При створенні оберіть ваш додатку, в моєму випадку це iOS App:
Далі вам поітрбно додаток, для якого створюється профіль:
Після чого оберіть сертифікати, які ви створли на другому кроці:
Далі введіть назву профілю, та запамʼятайте ID команди, яка вказана за чорную полоскою, вона вам далі знадобиться. Після просто нажміть Generate, і профіль буде створено.
Теперь вам потрібно перейти в Provisioning Profile, який ви тільки що створили. І завантажити його. Там є кнопка Download.
4. Розробнику потрібно встановити сертифікат та профіль.
Для цього передайте розробнику сертифікат в форматі .cer, який ви завантажили в пункт 2, та профіль який ви створили та завантажили в форматі .mobileprovision. Далі ваш розробник повинен спочатку імпортувати сертифікат в свій ключар "Ключар" - "Файл" - "Імпортувати елемент", та обрати переданий вами файл cer. Або просто нехай спробує відкрити файл cer прямо в файндера, в нових мак ось, він відразу повинен відкриватися через ключар. А після йому потрібно запустити файл .mobileprovision, це файл профілю який ви йому передали, нехай просто відкриє його.
На цьому все, всі сертифікати, та профіль в нього встановлені, тепер йому потрібно відкрити xCode, та в налаштуваннях Signing & Capabilities він зможе обрати встановлений сертифікат.
Цього достатньо, для публікації додатку.
5. Як додати Provisioning Profile в Cordova
Якщо ви використовуєте кордову як і я, то тут треба зробити ще декілька маніпуляцій. Поперше це команда біла, я не знаю які ви параметри використовуєте, але я використовую наступні:
run-p build-only && rimraf ./myApp/www/* && cp -r ./dist/* ./myApp/www/ && cd myApp && cordova build ios --release --device
Тут вказано 2 параметри, --release, та --device.
- release - як зрозуміло з назви, говорить, що додаток треба збирати для прода.
- device - каже що додаток при збірці повинен підтягувати, та використовувати сертифікат та профіль розробника. Що це білд, конкретно під пристрій, тому на момент виконнання білда з цією команду, в налаштуваннях проекта у вас вже повинен бути сертифікат, профіль, та вказаний цільовий пристрій, під який йде збірка, в налаштуваннях проекту xCode.
Тепер що до налаштувань кордови
В папаці з проектом кордови, коренева папка конкретно кордови, а не всього ваошо js проекту. Створіть файл build.json, в який додайте
{
"ios": {
"release": {
"codeSignIdentity": "Apple Distribution",
"provisioningProfile": "UUID Ваого профілю який ви створили",
"developmentTeam": "ID Вашої команди",
"packageType": "app-store",
"automaticProvisioning": false
}
}
}
Тепер де знайти UUID для Provisioning Profile, та ID команди. Памʼятаєте файл профілю, який ви створювали .mobileprovision ? Ви можете натиснути швидкий прегляд на нього за домогою space. Та в ньому буде вказаний UUID профідю, та ID команди:
Це власне вони. І на цьому власне все, тепер білд додатку за командо, буде відразу архівувати продакшен версію продукту, з правельним профілем (головне оберіть його в xCode), і на цьому все
Як бонус
Якщо після кожної вигрузки, вам потрібно заходити в ваш додаток через сайт, та апрувити шифрування та притяття законів франії, то це легко можно обійти додавши в ваш config.xml:
<platform name="ios">
<edit-config target="ITSAppUsesNonExemptEncryption" file="*-Info.plist" mode="merge">
<false/>
</edit-config>
<edit-config target="ITSAppUsesEncryption" file="*-Info.plist" mode="merge">
<false/>
</edit-config>
<edit-config target="ITSAppExportComplianceRequired" file="*-Info.plist" mode="merge">
<false/>
</edit-config>
</platform>
І додаток буде завантажуватися відразу, бедь будь яких підтверджень прав.