@drawoharaя ❤️ це! << натисни мене 🐛 🫖 🧚
/beginner-tutorial-i-os-certificates-provisioning-profiles
опубліковано: 2013-10-24

Для нового розробника iOS вони можуть бути дуже плутаними. Ви маєте додаток, який просто хочете, щоб інші люди могли тестувати на своїх пристроях, і вас перенаправляють на портал розробника Apple з сертифікатами, пристроями та профілями провізіонінгу. Перш ніж ваше тіло піде в шок, прочитайте решту цього посту для простого пояснення всього цього.

Поєднання сертифікатів, пристроїв та профілів провізіонінгу є відповіддю Apple на складні питання:

П: Як ви можете гарантувати, що додаток, який ви завантажуєте, не був змінений якимось хакером, і він справді від розробника/компанії, яка на ньому вказана?

A: Сертифікати. Коли-небудь чули про електронну пошту, зашифровану PGP? Цей весь бізнес, де є відкритий ключ і приватний ключ? Саме це тут відбувається, за винятком того, що ви абстрагуєтеся від турбот про це через програму для Mac “Keychain Access”. Коли ви додаєте новий сертифікат у порталі та слідуєте інструкціям щодо використання “Keychain Access” для завантаження запиту на сертифікат, “Keychain Access” використовує ваш приватний ключ для створення відкритого ключа, який потім вбудовується в запит на сертифікат, який надсилається до Apple. Apple повертає вам сертифікат, який ви потім поміщаєте в свій ключовий ланцюжок (тепер ви можете завантажити та додати його автоматично через Xcode).

(Оновлення: здається, ви можете керувати сертифікатами/”підписами” у налаштуваннях Xcode.)

Зверніть увагу, що є різні сертифікати для різних сценаріїв. Розробницькі сертифікати використовуються, коли ви просто налаштовуєте будь-який додаток (id додатку: *) для роботи, і ви розробляєте локально та на своєму розробницькому пристрої, який підключений до вашого комп’ютера. Сертифікат AdHoc використовується, коли ви хочете дозволити кільком тестувальникам встановити ваш додаток на свої пристрої до публічного релізу в AppStore. Сертифікати AppStore та AdHoc пов’язані з конкретним додатком (id додатку), і вони зазвичай використовують сертифікат організації, оскільки сертифікат — це те, як Apple знає, що показати в рядку “Розроблено” у списку App Store.

П: Як ми можемо дозволити групі тестувальників встановити додаток на свій телефон і спробувати його перед тим, як ми випустимо його для всього світу через App Store?

A: Пристрої та профілі провізіонінгу. Apple дозволяє своїм користувачам встановлювати додатки лише через App Store. Але коли ви розробник і хочете, щоб деякі люди спробували його перед тим, як він потрапить до App Store, вам потрібно використовувати профілі провізіонінгу та пристрої.

Спочатку ви отримуєте від когось їхній UUID пристрою (універсально унікальний ідентифікатор), що зазвичай робиться через сервіс, такий як Testflight або HockeyApp, де особа може зареєструватися як один із ваших тестувальників, а сервіс автоматично надсилатиме вам їхній UUID по електронній пошті. Щоб запобігти обходу App Store, Apple обмежує вас додаванням лише 100 пристроїв на рік до вашого облікового запису розробника iOS.

Потім ви створюєте профіль провізіонінгу. Кожен профіль провізіонінгу включає сертифікат для безпечного підписання додатка від конкретної особи/організації. Профілі провізіонінгу також заявляють, хто може встановити збірку додатка. У випадку профілю провізіонінгу App Store це означає, що цю збірку додатка можна встановити будь-ким, якщо вона завантажена через App Store.

Коли ви залучаєте деяких тестувальників, вам потрібно використовувати профіль провізіонінгу Ad Hoc (і сертифікат). На екрані “Редагування” профілю провізіонінгу ви зможете вибрати будь-які з пристроїв, перелічених у “Пристрої” в вашому порталі розробника. Поставте галочку поруч з тими, кого ви хочете включити (Примітка: ви завжди можете поставити або зняти більше або менше галочок пізніше).

Створіть цей профіль, завантажте його вручну або через налаштування Xcode, виберіть його під час архівування вашого додатка, і тоді ви зможете завантажити цей файл .ipa до такого сервісу, як Testflight, щоб ваші тестувальники могли встановити його.

Ще кілька керівних зображень: