Сертификация в Центъра за разработчици на Apple на прост и разбираем език SavePearlHarbor
Още едно копие на пристанището
Главно меню
Навигация на публикации
Сертификация в Apple Developer Center на прост и разбираем език
Накратко за основното
От незапомнени времена центърът за разработчици на Apple използва доста сложна система за подписване на вашите приложения на всеки от основните етапи - разработка, тестване и публикуване.
Често, когато начинаещи (и не само) разработчици се гмурнат в тази система за първи път, те имат сериозни проблеми да разберат как функционира Apple Developer Center (ще го наричаме „devcenter“ за простота). В резултат на това в хода на професионалната ми дейност многократно съм виждал огромни сметища на профили и сертификати в центъра за разработка на нови места на работа, в резултат на което трябваше да започна „разчистване на развалините“.
Какво ще анализираме?
Какво ще ни трябва?
Всъщност за работа се нуждаем от следното:
Ориентация на раздела
В центъра за разработка, за пълноценна работа с вашите приложения, се нуждаем само от два елемента:
-
Сертификати, самоличност и усилвател; Профили.
Разделът осигурява управление на цялата система за сертифициране на Вашите приложения. Именно с този раздел ще анализираме в тази статия.iTunes Connect.
Дава достъп до вътрешно и външно тестване чрез TestFlight, както и управление на публикуването на вашите приложения в App Store.
Терминология
Нека разгледаме по-подробно концепциите, залегнали в основата на функционирането на Apple DevCenter.
Сертификати
Сертификатите, които поискахте, са в процес на обработка от Apple. За dev (разработка) и prod (производство) сертификати специално в моя случай, този подразделнай-често празни.Развитие.
Dev-сертификати, които предоставят възможност за отстраняване на грешки в приложението ви на определени устройства (едно или повече) чрез Xcode. Ще говорим за тях по-подробно по-долу.Производство.
Сега нека разгледаме видовете сертификати.
Сертификати за тип разработка
Първо, трябва да знаете, че сертификатът на разработчика винаги е обвързанс една конкретна машина. Тоест не можете да имате dev-сертификат, свързан с различни компютри. Ако например сте получили работа като iOS програмист и задачите ви включват отстраняване на грешки на устройства (по правило те са), тогава ще трябва да създадете отделен сертификат за разработчици специално за вашия Mac.
Инструкциите за този процес ще ви бъдат показани в центъра за разработка на Apple, когато започнете да създавате сертификат, там всичко е описано много подробно и ясно, стъпка по стъпка, не би трябвало да има никакви затруднения. Накратко, след като изберете типа на сертификата (Разработка на приложения за iOS, за отстраняване на грешки в приложението, илиAPNs Sandbox, за отстраняване на грешки натискания), ще трябва да създадете файл за заявка за самоличност за подписване на сертификат, въз основа на който ще бъде генериран сертификатът на разработчика. Ако искате както да отстранявате грешки в приложение, така и да отстранявате грешки в насочени известия в пясъчна среда, ще ви трябват и двата сертификата. Гледайки напред, ще спомена, че подобен процес се използва при създаване на производствени сертификати.
Притежаването на dev-сертификат означава, че като го изтеглите и щракнете двукратно върху него на вашия Apple Keychain, можете да стартирате приложението си директно през Xcode в режим на отстраняване на грешки на устройство, като свържете това устройство към вашия Mac. Списъкът с разрешени конкретни устройства на Apple ще трябва да бъде уточнен когапоколениепрофил на разработчик, но повече за това по-късно.
Сертификати за тип производство
Като начало, за всеки случай, ще обясня, че сглобяването на приложение за iOS се нарича * .ipa-файл, архив, издаден в съответствие с правилата за сертифициране на Apple чрез командата Project - Archive в Xcode.
Сега относно сертифицирането. Prod-сертификатите осигуряват функционирането на различни подсистеми на приложенията в "бойни" условия, тоест в App Store, както и на устройства, където вътрешното и външното тестване на приложението се извършва чрез TestFlight. Тук, по аналогия с Development-certification, има типApp Store & Ad Hoc Productionи типътAPNs Production, използвани от уеб сървъра за изпращане на насочени известия. Ако планирате да пуснете приложение, което поддържа насочени известия, тогава ще ви трябват и двата сертификата, като App Store & Ad Hoc (въз основа на който ще изградите и изпратите приложението към iTunes Connect) и APNs Production (ще го дадете на сървъра и той ще го използва, за да получи права за изпращане на push). В допълнение към вече споменатите подсистеми, има няколко други, които предоставят достъп до Wallet, Apple Watch и т.н., но техният преглед е извън обхвата на тази статия.
Много често възниква въпросът каква е разликата между App Store и съответно Ad Hoc. Преди това те бяха представени от различни сертификати, от известно време Apple ги комбинира в едно цяло, за което много им благодаря. Малко повече за тези сортове:
-
Пускане на компилации като App Store.
Терминът "Ad Hoc" може да се преведе като "специален", "за определена цел". Този тип сертифициране предоставя възможност за стартиране на вашето приложение (включително всички необходими подсистеми като APN) в бойни условия, но само наконкретни устройства и без участието на Xcode в процеса на стартиране. С други думи, Ad Hoc е необходим, ако искате да поставите приложението си на устройство на трета страна, без да имате директен достъп до него (т.е. без да го свързвате с кабел към вашия Mac, тъй като в този случай сертификат за разработка ще ви е достатъчен), но без да качвате приложението в iTunes Connect. Такъв сертификат се използва при създаване на специален профил Ad Hoc, който ще бъде обсъден малко по-късно.
Междинни сертификати
Преди известно време Apple направи промени в логиката на dev center и неговата система за сертифициране, след което повечето компютри загубиха възможността да изграждат приложения, въпреки наличието на активни dev и pro сертификати и актуални профили. Причината за това беше, че Apple добави допълнително изискване специален сертификат, наречен"Worldwide Developer Relations Certificate Authority"да бъде инсталиран в ключодържателя на вашия Mac. Той се инсталира автоматично с по-новите версии на Xcode, но тези, които вече са имали инсталиран Xcode преди, просто трябваше да инсталират този сертификат ръчно, като го изтеглят директно от раздела за междинни сертификати в Apple Dev Center, след което проблемите с компилацията изчезнаха. Този сертификат не носи повече семантично натоварване.
Идентификатори
Този раздел предоставя управление на идентификатори. За вашето приложение в минималната версия ще ви е необходим App ID, който може да се управлява в подраздела със същото име.
В буквален превод "App ID" означава "идентификатор на приложение", което напълно отразява неговата същност. Всяко ваше приложение, което искате да отстраните грешки на устройство на Apple, да тествате с TestFlight и/или да публикувате вApp Store трябва да има собствено уникално име, чрез което може да бъде уникално идентифицирано сред хиляди други приложения. Когато добавяте нов идентификатор на приложение, ще бъдете подканени да въведете няколко елемента:
Името на вашето приложение. Например, ако вашето приложение се наричаMail Printer, просто го напишете в това текстово поле.Префикс на ID на приложението.
Префиксът на вашето приложение, той ви се дава автоматично и ще бъде общ за конкретния екип на Apple, където програмата за разработчици на Apple е свързана и активна.Суфикс на ID на приложението.
Тук трябва да изберемExplicit App ID, за да посочим пакета приложения. Това е идентификатор, обикновено във форматаcom.mycompany.myappname, къдетоmycompanyе името на вашата фирма или домейн. Напримерcom.homecompany.MailPrinter. Обръщам внимание на факта, че точно същият пакет трябва да бъде зададен в целевите настройки на вашето приложение в Xcode (раздел Общи настройки, поле Идентификатор на пакет).Услуги за приложения.
Тук трябва да маркирате услугите, които планирате да използвате във вашето приложение. По подразбиране там са отбелязани само Game Center и In-App Purchase, използването им е задължително, не могат да бъдат изтрити. Свържете други услуги, ако е необходимо.
След като създадете ИД на приложение, можете да го използвате за генериране на всякакъв тип профил, повече за това по-късно.
устройства
Този раздел съдържа управлението на всички устройства на Apple, които можете да използвате като част от вашата програма за разработчици на Apple. Има ограничение от 100 регистрирани устройства на акаунт на година, което обикновено е повече от достатъчно. Ако трябва да отстраните грешки на устройството илиКогато пуснете Ad Hoc компилация, просто добавете тук UDID на устройствата, от които се нуждаете, и ги използвайте, когато генерирате профили.
Профили
Буквално името на този раздел се превежда като „Профили за осигуряване“. Малко по-подробно, бих описал понятието "профил" като "Специален файл, който предоставя достъп до някои функции в конкретна сборка на вашето приложение." В този раздел на devcenter можете да управлявате своите профили, като си осигурявате възможността да пускате компилации на приложението за различни цели, тоест да го „профилирате“. По същество профилът е резултат от комбинирането на два (понякога три) компонента:
- Активен сертификат от определен тип (секция Сертификати). Със сертификат профилът потвърждава, че вашето приложение има право да извършва определена група от действия.
- Идентификационен номер на приложението (раздел Идентичности). Идентифицира конкретното приложение, за което е издаден профилът.
- В някои случаи се нуждаете и от списък с регистрирани устройства (раздел Устройства). Указва списъка с устройства, на които е разрешено да се инсталира вашата сборка. Използва се само с определени типове профили.
На изхода просто получаваме профил за освобождаване на сборки с конкретни цели. Нека да разгледаме видовете профили.
Профили на развитие
Това е профил за разработка, т.е. за отстраняване на грешки на вашето приложение на определени устройства чрез Xcode с директна кабелна връзка на устройството към вашия Mac. Профилите на програмистите са представени от два типа:
Изисква указване на списъка с разрешени устройства от секцията Устройства.Използва се за отстраняване на грешки в iOS приложения.Разработка на приложения за tvOS.
По същия начин се използва само за tvOS приложения.
Разпределителни профили
Тези профили се използват за пускане на компилации на вашето приложение за различни цели. Производствените профили са представени от четири вида:
Използва се за тестване (както вътрешно, така и външно) в TestFlight, както и за пускане на приложението в App Store.tvOS App Store.
Подобно на предишния, само за tvOS.Ad hoc.
Изисква се посочване на списък с разрешени устройства от секцията Устройства.Използва се, ако искате да пуснете компилация, която може да бъде инсталирана в производствен режим, но само на някои устройства. Реална ситуация, при която това може да е необходимо, е например следната. Вие разработвате приложение и в процеса на работа клиентът ви помоли да „го оставите да усети приложението“ на неговото Apple устройство. В iTunes Connect все още не сте готови да излезете, за да активирате външно тестване, но трябва да изпълните заявката на клиента - това е мястото, където Ad Hoc профилът, генериран въз основа наApp Store & Специфичен производствен сертификат.tvOS Ad Hoc.
Подобно на предишния, само за tvOS.
iTunes Connect с един поглед
Тази услуга ви дава възможност да управлявате вътрешно и външно тестване в TestFlight, както и да публикувате приложението в App Store. Разглеждането на този процес е извън обхвата на тази статия, ще спомена само факта, че за правилна работа тази услуга се нуждае от сборки, създадени въз основа на профил катоРазпространение - App Store(за iOS или tvOS). Други типове профили не се поддържат тук.
Обобщаване
По същество вашият алгоритъм на действие трябва да бъде следният:
Това завършва подготовката и почистването на devcenter. След това можете да направите някое отследните елементи, ако е необходимо:
- Стартирайте в режим на отстраняване на грешки (Проект - Изпълнение) през Xcode на разрешено устройство, използвайки профила на разработчици.
- Създайте сборка (Проект – Архив с избраното целево Generic iOS устройство) въз основа на производствения профил Ad Hoc за инсталиране на конкретни устройства (такава сборка може да бъде изпратена, например, по имейл на клиента, така че той да я инсталира на разрешеното му устройство).
- Създайте сборка, подобна на предишния параграф, но въз основа на производствения профил на App Store. Това ще бъде компилация за вътрешно и/или външно тестване, както и компилация за версия на App Store, която може да се използва в iTunes Connect.
Надявам се, че това подробно описание ще ви помогне да разберете спецификата на системата за сертифициране на приложения на Apple и също така ще ви помогне да почистите Центъра за разработчици на Apple.