- Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки
- Готовимся к публикации
- 1. Создаем Apple ID
- 2. Регистрируем аккаунт разработчика
- 3. Оплачиваем аккаунт
- 4. Готовим маркетинговые материалы
- «Developer» в настройках iPhone и iPad — что это и как убрать?
- А что это вообще за «Developer» в настройках iPhone или iPad?
- Откуда на вашем iPhone или iPad появился «Developer»?
- «Developer» — это опасно? Есть угроза моему iPhone или iPad?
- Как удалить «Developer» с iPhone или iPad?
- Сертификация в Apple Developer Center простым и понятным языком
- Что мы будем разбирать?
- Что нам понадобится?
- Ориентировка по разделам
- Терминология
- Сертификаты (Certificates)
- Сертификаты типа «Development»
- Сертификаты типа «Production»
- Intermediate Certificates
- Идентификаторы (Identifiers)
- Устройства (Devices)
- Профили (Provisioning Profiles)
- Профили типа «Development»
- Профили типа «Distribution»
- Вкратце об iTunes Connect
- Резюмируем
Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки
Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Должны сразу предостеречь: можно сберечь несколько недель и свои нервы, если делегировать публикацию приложения на разработчиков. Разумеется, под должным контролем. У них побольше опыта в релизных делах: сделают все быстрее, корректно заполнят все поля и, скорее всего, не нарвутся на реджект. Не забудьте только поменять пароли от аккаунта, чтобы данные были только у вас.
Готовимся к публикации
В среднем процесс занимает пару недель.
1. Создаем Apple ID (10 минут)
2. Регистрируем аккаунт разработчика (1день как разработчик\19 дней как компания, во всем виноват D-U-N-S number.)
3. Оплачиваем аккаунт (2-3 дня)
4. Готовим маркетинговые материалы (1 день)
1. Создаем Apple ID
Если Apple ID уже есть, переходим к шагу 2. Если нет, создаем.
Заходим на сайт Apple. Нажимаем кнопку Create Your Apple ID.
Открывается форма с личными данными.
Корректно заполняем информацию о владельце аккаунта. Ниже пример заполнения профиля.
Отвечаем на три обязательных вопроса на случай утери пароля, без них не создать аккаунт. Данные лучше куда-нибудь записать, чтобы не забыть вводную информацию через несколько лет.
Заполненный профиль выглядит так.
Соглашаемся с политикой конфиденциальности, разгадываем капчу и нажимаем кнопку «Продолжить». Появляется форма, в которую нужно ввести код подтверждения. Он придет на почту, привязанную к аккаунту. Есть 30 минут, чтобы ввести код. Иначе придется начинать все сначала.
Готово. Apple ID создан.
2. Регистрируем аккаунт разработчика
Заходим на сайт Apple. Вводим Apple ID и пароль, которые у нас уже есть.
Соглашаемся с пользовательским соглашением. Нажимаем на кнопку Submit. Оказываемся на welcome-экране.
Нажимаем Join the Apple Developer Program. Переходим на следующий экран.
Наша цель — синяя кнопка Enroll в правом верхнем углу. Нажимаем её.
Теперь два пути: присоединиться к программе как физическое лицо (individual) или как юридическое (Company/Government Organization). Стоимость одинаковая — 99 долларов, вне зависимости от типа разработчика. Отличие тоже одно — статусность. В графе «продавец» будет значиться либо Ivan Ivanov, либо Touch Instinct, LCC. Если в приложении есть частичка интеллектуальной собственности, лучше перестраховаться и выложить от лица компании. Проще будет подготовить доказательную базу для Apple в случае споров.
Как разработчик
Выбираем individual и жмем кнопку Continue.
На следующем экране предлагают заполнить персональную информацию.
Ставим галку, что соглашаемся с условиями пользовательского соглашения. Жмем кнопку Continue.
Как компания
Если хотите зарегистрироваться как компания, вас ждут похожие поля и немного ада. Чтобы пройти проверку Apple, нужно добыть D-U-N-S number организации.
Duns можно добыть бесплатно на официальном сайте или купить за 12240 рублей. Последнее — наказание для тех, кто не знает английского. Через 14 дней после получения номера информация окажется у Apple. Закладывайте минимум 19 рабочих дней на ожидание. Обратите внимание, что название вашей компании на сайтах Apple и D&B должны полностью совпадать.
3. Оплачиваем аккаунт
Добрались до оплаты! Жмем кнопку Purchase.
Заполняем информацию о плательщике. Стандартная покупка в интернете, ничего необычного. У нас на этом этапе произошла небольшая заминка. Фамилия держателя карты отличалась от фамилии владельца аккаунта — Apple насторожилась. Служба поддержки попросила отправить скан загранпаспорта владельца аккаунта для подтверждения личности. Это отняло еще четыре рабочих дня. С карточки деньги списали моментально, но оплата проходила еще два дня.
Финальный штрих в истории — письмо с подтверждением, которое придет на почту. Как только пришло — порядок, можно выкладывать приложение.
4. Готовим маркетинговые материалы
Заранее готовим материалы, чтобы не терять время во время релиза.
1. Название приложения
Будет отображаться в App Store. До 30 символов.
2. Ключевые слова
Одно или несколько ключевых слов, описывающих приложение. Поиск в App Store по ключевым словам дает более точные результаты. Разделяйте ключевые слова запятыми. До 100 символов.
3. Описание
Описание приложения также будет использовано в приложении для Apple Watch.
Максимум 4000 символов.
4. E-mail службы поддержки
В формате support@touchin.ru.
5. Имя разработчика
Тут все просто.
6. Категория
Нужно выбрать меньшее из зол.
Бизнес, Газеты и журналы, Дети, Еда и напитки, Здоровье и фитнес, Игры, Каталоги, Книги, Медицина, Музыка, Навигация, Новости, Образ жизни, Образование, Погода, Покупки, Производительность, Путешествия, Развлечения, Социальные сети, Спорт, Справочники, Утилиты, Финансы, Фото и видео.
7. Номер версии
Номер версии приложения.
8. URL-адрес рекламного сайта
URL-адрес с рекламной информацией о приложении. Будет отображаться в App Store.
9. Политика конфиденциальности
Если приложение собирает данные пользователей, нужна ссылка на политику конфиденциальности.
10. Снимки экрана
Снимки экрана должны быть в формате JPG или PNG и цветовом пространстве RGB.
Не более пяти снимков для каждого типа устройства. Типов устройств четыре: iPhone 4, 5, 6, 6plus. С подробной информацией о требованиях к графическим данным можно ознакомиться на сайте Apple.
Видео о приложении — по желанию. Требования: формат M4V, MP4 или MOV. Не более 500 MB.
11. Иконка
В формате JPG или PNG, в цветовом пространстве RGB и с разрешением не менее 72 точек на дюйм. Никаких закругленных углов, Apple сам все сделает. Разрешение 1024 x 1024 пикселей.
12. Авторские права
Имя лица или название организации, которые владеют уникальными правами на приложение. Указывается после года получения прав (если применимо). Например, «2008 ИП Иванов И.И.» или «Touch Instinct»..
13. URL-адрес службы поддержки
URL-адрес службы поддержки приложения. Будет отображаться в App Store.
14. Контактная информация
Сотрудник вашей организации, с которым можно связаться в случае возникновения вопросов при публикации. Укажите имя, почту, номер телефона сотрудника.
15. Примечания
Дополнительная информация о приложении, которая может помочь при проверке. До 4000 символов.
16. Пользовательское соглашение
Если отличается от эпловского.
17. Что нового
Предоставьте информацию о том, что нового в этой сборке и что необходимо протестировать. До 3 600 символов.
18. Возрастной лимит
Если есть.
19. Демонстрационная учетная запись
Предоставьте имя пользователя и пароль для учетной записи с полным доступом. Если Apple не сможет залогиниться в приложении для проверки, то отклонит его. Если предусмотрена авторизация через смс, обязательно предоставьте номер телефона для Apple, на который компания может позвонить и запросить код подтверждения для входа в приложение.
20. Описание приложения
Для бета-тестирования. Должно отражать функции и возможности приложения.
До 6 000 символов.
Начиная с iOS 11
21. Рекламный текст
Появится над описанием в App Store. Будет отображаться для пользователей устройств с iOS 11 и новее. До 170 символов.
22. Подзаголовок
Краткое описание приложения, которое появится под его названием в App Store. До 30 символов.
Для приложений с Apple Watch
23. Значок для App Store для Apple Watch
Для приложений, собранных с помощью Xcode 9 и новее, значок должен быть включен в сборку.
24.Снимки экрана Apple Watch
Снимки экрана должны иметь формат JPG или PNG (цветовое пространство RGB) 312 x 390 pixels.
Напомню, какую информацию увидит ваш пользователь. Так будет выглядеть веб-версия.
Источник
«Developer» в настройках iPhone и iPad — что это и как убрать?
Всем категорический привет! iPhone умеет удивлять. Вот вроде бы смартфон уже изучен вдоль и поперёк, а тут… бац, сюрприз! Причем сегодня произошло такое, с чем я вообще никогда не сталкивался — в настройках телефона появился загадочный пункт «Developer». Почему загадочный? Потому что:
- Я вижу его впервые.
- Все надписи на английском языке.
- Меню «Developer» абсолютно точно не является стандартным — оно откуда-то «прилетело» на мой iPhone.
Ничего не понял, но очень интересно © Один известный видеоблогер.
А раз интересно — надо разбираться… И давайте начнем с самого главного!
А что это вообще за «Developer» в настройках iPhone или iPad?
Если быть кратким, то это специальный раздел, который появляется при установке сертификата разработчика, разработке собственного приложения или использования сторонних инструментов для работы с вашим iPhone или iPad.
- Сбор статистики конкретного приложения (из-за которого и появился «Developer»).
- Тестирования работы и анализа данных этого самого приложения.
В общем, штука исключительно для разработчиков и к обычному пользователю имеет самое опосредованное отношение.
Откуда на вашем iPhone или iPad появился «Developer»?
Несмотря на то, что «Developer» — это «история» для разработчиков, данный пункт может появиться на любом «среднестатистическом» iPhone.
Откуда он взялся? В этом могут быть виноват(-ы):
- Xcode. Подключив iPhone или iPad к Mac OS с запущенным Xcode в настройках вашего устройства появиться строка «Developer». При этом, совсем не обязательно быть программистом — достаточно простого подключения.
- Программы для управления устройством. Имеются ввиду 3uTools, iTools и другие. Причем, при простом подключении ничего не происходит. Но как только вы попытаетесь «нестандартно» работать с устройством — записывать экран, делать скриншоты, транслировать изображение и т.д., то вот здесь «Developer» будет проявляться во всей красе.
- Установка сторонних приложений. Имеются ввиду те магазины, которые являются альтернативой App Store. Как правило, для использования этих магазинов нужно установить сертификат разработчика, а вместе с сертификатом «подтягивается» и «Developer».
- Ваше добровольное согласие на тестирование приложений и программ. Ситуация редкая, но такое тоже может быть — вы решили кому-то помочь и взялись протестировать приложение. Есть тест — есть и «Developer» для анализа работы и сбора статистики.
- Ваше случайное согласие на тестирование приложений и программ. В современном интернете огромное количество недобросовестной рекламы (баннеры, всплывающие окна, шокирующие тексты и картинки), которые просто навязывают установку различных приложений. Если приложение «неофициальное», то меню «разработчик» вполне может оказаться на вашем iPhone или iPad.
У меня, кстати, пункт «Developer» появился в тот момент, когда я изучал возможности программы 3uTools (записывал экран, скачивал рингтоны и делал скриншоты) — хотел изучить одно, а в итоге занялся совершенно другим:)
«Developer» — это опасно? Есть угроза моему iPhone или iPad?
Само меню абсолютно безопасно.
Это не вирус и в нём нет ничего страшного.
Ведь статистика и анализ собирается только для того приложения, которое явилось причиной появления настройки «разработчика».
Но! Опасность могут представлять те программы, которые явились причиной появления «Developer». Особенно в том случае, если это какие-то малоизвестные приложения. Будьте внимательны и помните об этом!
Как удалить «Developer» с iPhone или iPad?
Конкретного пункта меню, который отвечает за удаление «Developer», нет. Тогда что же делать? Как избавиться от меню «Разработчик»?
Самый верный способ:
Перезагрузить устройство. Для верности, можно сделать жесткий перезапуск. Чтобы, так сказать, наверняка:)
Помогает практически всегда.
Если ничего не получилось, то остаются вот такие варианты.
- Найти тот сертификат (Настройки — Основные — Управление устройством) или приложение, из-за которого появляется «Developer», и удалить его.
- Сделать полный сброс настроек или восстановить прошивку через iTunes. Не забудьте про резервные копии!
- Дождаться выхода новой версии iOS.
Впрочем, до таких манипуляций дело доходит крайне редко. И это не может не радовать!:)
- Штука, связанная с разработкой, отладкой и анализом поведения разрабатываемых приложений для iOS.
- Бояться не нужно — само его присутствие не представляет никакой угрозы. Но нужно помнить о тех приложениях, которые способствуют появлению этого пункта!
- Легко удаляется (в большинстве случаев) — достаточно простой перезагрузки.
Вот и всё. Надеюсь, статья была хоть немного полезной (ставьте «лайк», если это действительно так) — дополнительные знания никогда не бывают лишними!:)
Источник
Сертификация в Apple Developer Center простым и понятным языком
В Apple Developer Center с незапамятных времен применяется довольно мудреная система сертификации ваших приложений на каждом из ключевых этапов — разработка, тестирование и публикация.
Зачастую при первом погружении в эту систему у начинающих (и не только) разработчиков возникают серьезные проблемы с пониманием того, как функционирует Apple Developer Center (будем называть его «девцентр» для простоты). В результате, мне в процессе профессиональной деятельности не раз приходилось наблюдать на новых местах работы огромные свалки из профилей и сертификатов в девцентре, в результате чего приходилось приступать к «разбору завалов».
При этом, в сети довольно не такой большой выбор материалов на эту тему. Конечно, в официальной документации Apple все хорошо структурировано и очень подробно описано, но зачастую просто не хватает времени на изучение такого количества материала. Как правило, хочется быстро понять, что именно и в каком порядке нужно сделать для корректной работы приложения на этапах разработки, тестирования и при публикации его в магазин App Store. В русском же сообществе подобных материалов, собранных в одном месте и в удобном доступе, я не видел вовсе, поэтому и решил написать эту статью. Для всех интересующихся — добро пожаловать под кат.
Что мы будем разбирать?
Мы разберем процесс управления вашим приложением в Apple Developer Center от его создания до публикации в магазине App Store. Мы будем говорить только о базовых вещах, таких, как разработка, тестирование и публикация, а также обсудим APNs (Push Notifications).
Отмечу тот факт, что далее я буду описывать принцип работы девцентра по состоянию на 31 марта 2016 года, поэтому если вы читаете эту статью позднее — все уже могло измениться.
Что нам понадобится?
Собственно, для работы нам нужно следующее:
- Рабочий Mac, либо PC с виртуальной машиной и установленной на ней Mac OS.
- Действующий Apple ID. Его всегда можно бесплатно зарегистрировать на официальном сайте компании Apple.
- На вашем Apple ID (либо у одной из компаний, которая добавила ваш Apple ID в свою команду) должна быть активирована так называемая Apple Developer Program — оплачиваемая раз в год «подписка», дающая вам доступ к Apple Developer Center и возможность публиковать ваши приложения в App Store. На текущий момент стоимость в пересчете на год невелика и составляет в районе $99 за год пользования.
- И, конечно же, навыки разработки под iOS.
Ориентировка по разделам
В девцентре для полноценной работы с вашими приложениями нам понадобятся только два пункта:
- Certificates, Identifiers & Profiles. Раздел обеспечивает управление всей системой сертификации ваших приложений. Работу именно с этим разделом мы и будем разбирать в данной статье.
- iTunes Connect. Дает доступ к внутреннему и внешнему тестированию через TestFlight, а также к управлению публикацией ваших приложений в App Store.
Терминология
Давайте подробно разберем понятия, лежащие в основе функционирования девцентра Apple.
Сертификаты (Certificates)
Этот раздел дает доступ к управлению сертификатами, которыми обладает ваша учетная запись Apple ID. Каждый из этапов, которые вы будете проходить, будь то разработка, тестирование или публикация, включая все значимые составляющие экосистемы Apple вроде Push Notifications, требует обязательного наличия актуального (действующего, Active) сертификата. Говоря проще, ваше приложение не сможет даже чихнуть, не имея на то разрешения из Apple Developer Center. Чуть подробнее о подразделах:
- Pending. Запрошенные вами сертификаты, находящиеся в процессе обработки от Apple. Для дев (Development) и прод (Production) сертификатов конкретно в моем случае этот подраздел чаще всего пустует.
- Development. Дев-сертификаты, обеспечивающие возможность отладки вашего приложения на конкретных девайсах (одном либо нескольких) через Xcode, а также создание дев-сборок «в отладочном режиме». Более подробно поговорим о них чуть ниже.
- Production. Прод-сертификаты, обеспечивающие работоспособность приложения при тестировании в TestFlight и при публикации в магазине App Store.
Теперь разберем типы сертификатов.
Сертификаты типа «Development»
В первую очередь, нужно знать, что девелоперский сертификат всегда привязывается к одной конкретной машине. Поэтому для отладки на вашем Mac вам понадобится доступ к этому сертификату. Тут есть варианты. Например, если, вы устроились на работу iOS-программистом, и в ваши задачи входит отладка на устройствах (как правило, так и есть), то есть два пути решения (какой из них выбирать — зависит от вас и условий работы в вашей компании):
- Создать отдельный дев-сертификат конкретно для вашего Mac, скачать и установить его. Плюс понадобится сгенерировать и установить на свой Mac девелоперский профиль на основе этого сертификата, но об этом позже.
- Либо экспортировать с машины, на которую заведен сертификат, файл *.p12/*.pfx (это можно сделать в связке ключей Apple). Такой файл защищается паролем при экспорте, и, зная этот пароль, информацию о сертификате можно будет импортировать на любом другом Mac. В этом случае отпадает необходимость создавать для каждого Mac отдельные Development-сертификаты и отдельные Development-профили. Небольшая оговорка: профиль хоть и должен быть сгенерирован для той машины, на которую выпущен экспортируемый сертификат, но в этот профиль понадобится добавить UDID вашего устройства прежде, чем выдавать профиль вам для установки, иначе ничего работать не будет.
Инструкция по процессу будет показана вам в девцентре Apple при начале создания сертификата, там все расписано очень подробно и понятно, по шагам, сложностей возникать не должно. Если вкратце, то после выбора типа сертификата (iOS App Development, для отладки приложения, либо APNs Sandbox, для отладки пушей) вам придется создать файл запроса к бюро сертификации (Certificate Signing Identity Request), на основе которого и будет сгенерирован девелоперский сертификат. Если вы хотите и отлаживать приложение, и отлаживать пуш-нотификации в «песочнице», то вам потребуются оба этих сертификата. Забегая вперед, упомяну, что аналогичный процесс применяется и при создании прод-сертификатов.
Наличие дев-сертификата означает, что, скачав его и установив двойным кликом в Связку Ключей (Apple Keychain), вы сможете запускать ваше приложение напрямую через Xcode в режиме отладки на устройстве, подключив это устройство проводом к вашему Mac. Перечень разрешенных конкретных устройств Apple нужно будет обязательно указать при генерации девелоперского профиля, но об этом позже. Также, вы сможете собрать и экспортировать сборку с дев-профилем, но стоит учесть, что в этом случае ваше приложение не будет иметь доступа к продакшн-возможностям (APNs будет только в режиме sandbox, например).
Сертификаты типа «Production»
Для начала на всякий случай поясню, что сборкой iOS-приложения называют *.ipa-файл, архив, выпускаемый с соблюдением правил сертификации Apple через команду Project — Archive в Xcode.
Теперь о сертификации. Прод-сертификаты обеспечивают функционирование различных подсистем приложения в «боевых» условиях, то есть в магазине App Store, а также на устройствах, где выполняется внутреннее и внешнее тестирование приложения через TestFlight. Здесь, по аналогии с Development-сертификацией, есть тип App Store & Ad Hoc Production, а также тип APNs Production, использующийся веб-сервером для рассылки push-уведомлений. Если вы планируете выпустить приложение, поддерживающее работу с пушами, то вам понадобятся оба сертификата, как App Store & Ad Hoc (на основе которого вы сделаете сборку и отправите приложение в iTunes Connect), так и APNs Production (его вы отдадите серверу, а тот воспользуется им для получения прав на рассылку пушей). В довесок к уже упомянутым подсистемам есть еще несколько других, обеспечивающих доступ к Wallet, Apple Watch и так далее, но их обзор выходит за рамки данной статьи.
Очень часто возникает вопрос о том, в чем же разница между App Store и тем самым Ad Hoc. Ранее они были представлены разными сертификатами, с некоторого времени Apple объединила их в единое целое, за что им большое спасибо. Чуть подробнее об этих разновидностях:
- Выпуск сборок типа App Store. Обеспечивает возможность тестировать приложение в TestFlight, как в режиме внутреннего, так и в режиме внешнего тестирования. Также дает возможность опубликовать приложение в App Store.
- Выпуск сборок типа Ad Hoc. Термин «Ad Hoc» можно перевести как «специальный», «для конкретной цели». Такой тип сертификации обеспечивает возможность запускать ваше приложение (включая все нужные подсистемы типа APNs) в боевых условиях, но только на конкретных девайсах, и без участия Xcode в процессе запуска. Другими словами, Ad Hoc необходим, если вы захотите поставить ваше приложение на стороннее устройство, не имея к нему прямого доступа (то есть не подсоединяя его проводом к вашему Mac, так как в этом случае вам бы хватило Development-сертификата), но при этом и не выкладывая приложение в iTunes Connect. Такой сертификат используется при создании специального Ad Hoc-профиля, о котором пойдет речь чуть позже.
Еще один частый вопрос: чем отличаются сборки, собранные на паре Development Certificate + Development Profile, и сборки, созданные через связку Distribution Certificate + Ad Hoc Profile? Ведь и там, и там нужно указывать перечень разрешенных для установки устройств, и то, и то можно устанавливать через iTunes. В чем же различие? На деле, разница в том, что дев-сборка будет запускаться «в отладочном режиме», то есть, например, APNs ей будут доступны только в режиме «sandbox». Продакшн-сборка будет обладать «боевыми» правами, с доступом во все подсистемы Apple вроде «настоящих» APNs, iCloud и так далее.
Intermediate Certificates
Некоторое время назад Apple внесла изменения в логику работы девцентра и своей системы сертификации, после чего на большинстве компьютеров пропала возможность делать сборки приложений, несмотря на наличие активных дев- и прод-сертификатов и актуальных профилей. Причина этого была в том, что Apple добавила дополнительное требование, чтобы на вашем Mac в связке ключей был установлен специальный сертификат под названием «Worldwide Developer Relations Certificate Authority». Он устанавливается автоматически с новыми версиями Xcode, но те, у кого Xcode уже был установлен ранее, просто должны были установить этот сертификат вручную, скачав его по прямой ссылке из секции Intermediate Certificates в девцентре Apple, после чего проблемы со сборками исчезали. Больше никакой смысловой нагрузки этот сертификат не несет.
Идентификаторы (Identifiers)
Данный раздел обеспечивает управление идентификаторами. Для вашего приложения в минимальном исполнении понадобится App ID, управление которыми доступно в одноименном подразделе.
В буквальном переводе «App ID» означает «идентификатор приложения», что полностью отражает его суть. Любое ваше приложение, которое вы хотите отлаживать на устройстве Apple, тестировать через TestFlight и/или публиковать в магазин App Store, должно обладать собственным уникальным именем, по которому его можно однозначно идентифицировать среди тысяч других приложений. При добавлении нового App ID вам будет предложено ввести несколько элементов:
- App ID Description. Имя вашего приложения. К примеру, если ваше приложение называется Mail Printer, то прямо так его и записываем в это текстовое поле.
- App ID Prefix. Префикс вашего приложения, он выдается вам автоматически и будет общим для конкретной команды Apple Team, где подключена и активна Apple Developer Program.
- App ID Suffix. Здесь нам понадобится выбрать Explicit App ID, чтобы указать бандл (bundle) приложения. Это идентификатор, обычно имеющий вид com.mycompany.myappname, где mycompany — имя вашей компании или вашего домена. Например, com.homecompany.MailPrinter. Обращаю ваше внимание, что точно такой же бандл должен быть выставлен в настройках таргета (Target) вашего приложения в Xcode (секция настроек General, поле Bundle Identifier).
- App Services. Здесь вам нужно отметить те сервисы, которые вы планируете использовать в вашем приложении. По умолчанию там отмечены только Game Center и In-App Purchase, их использование обязательно, удалить их нельзя. Остальные сервисы подключайте по мере необходимости.
После создания App ID вы можете использовать его для генерации любых типов профилей, об этом чуть позже.
Устройства (Devices)
В этом разделе размещено управление всеми устройствами Apple, которые вы можете использовать в рамках вашей Apple Developer Program. Есть ограничение, максимум 100 зарегистрированных девайсов одного типа (iPhone, iPad и так далее) на одну учетную запись в год, обычно этого более чем достаточно. При необходимости отладки на устройстве или выпуска Ad Hoc-сборки просто добавляйте сюда UDID нужных вам девайсов и используйте их при генерации профилей.
Профили (Provisioning Profiles)
Дословно название этого раздела переводится как «Профили обеспечения». Чуть более развернуто я бы описал понятие «профиль» как «Специальный файл, обеспечивающий доступ к некоторой функциональности в конкретной сборке вашего приложения». В данном разделе девцентра вы можете управлять вашими профилями, обеспечивая себе возможность выпускать сборки приложения для различных целей, то есть «профилировать» его. По сути, профиль является результатом объединения двух (иногда трех) компонентов:
- Активного сертификата определенного типа (раздел Certificates). С помощью сертификата профиль подтверждает, что ваше приложение имеет право на выполнение определенной группы действий.
- App ID (раздел Identities). Определяет конкретное приложение, для которого выпускается профиль.
- В некоторых случаях, еще нужен список зарегистрированных устройств (раздел Devices). Определяет перечень устройств, на которые разрешено устанавливать вашу сборку. Используется только с некоторыми типами профилей.
На выходе как раз и получаем профиль для выпуска сборок с определенными целями. Давайте рассмотрим разновидности профилей.
Профили типа «Development»
Это профиль для разработки, то есть его основное назначение — отладка вашего приложения на конкретных устройствах через Xcode с прямым подключением устройства проводом к вашему Mac. Дев-профили представлены двумя видами:
- iOS App Development. Требует указания перечня разрешенных устройств из раздела Devices.
Используется для отладки iOS-приложений. - tvOS App Development. Аналогично, только используется для tvOS-приложений.
Профили типа «Distribution»
Эти профили используются для выпуска сборок вашего приложения для различных целей. Продакшн-профили представлены четырьмя видами:
- App Store. Используется для тестирования (как внутреннего, так и внешнего) в TestFlight, а также для выпуска приложения в App Store.
- tvOS App Store. Аналогично предыдущему, только для tvOS.
- Ad Hoc. Требует указания перечня разрешенных устройств из раздела Devices.
Используется, если вы хотите выпустить сборку, которую можно будет поставить в режиме «Production», но только на некоторых устройствах. Реальная ситуация, когда это может понадобится, например, следующая. Вы разрабатываете приложение, а в процессе работы заказчик попросил у вас «дать ему пощупать приложение» на своем Apple-устройстве. В iTunes Connect для активации внешнего тестирования вы еще выходить не готовы, но просьбу заказчика нужно выполнять — вот тут как раз и пригодится Ad Hoc-профиль, сгенерированный на базе прод-сертификата App Store & Ad Hoc Production Certificate. Важный момент: в моем случае часто возникали проблемы при экспорте сборок подобным способом, если в Xcode не был также установлен и Development-сертификат. Ошибки были разного рода, от невозможности подписать сборку до абсурдного «App ID is not available», хотя это фактически не так (замена на другой бандл ничего не давала). Поэтому, по моему предположению, для удачного экспорта Ad Hoc-сборок необходимо, чтобы, помимо Ad Hoc-профиля, был также установлен и дев-сертификат с соответствующим профилем. - tvOS Ad Hoc. Аналогично предыдущему, только для tvOS.
Вкратце об iTunes Connect
Этот сервис предоставляет вам возможность управлять внутренним и внешним тестированием в TestFlight, а также выкладывать приложение в App Store. Рассмотрение этого процесса выходит за рамки данной статьи, упомяну лишь тот факт, что для корректной работы этому сервису необходимы сборки, созданные на базе профиля типа Distribution — App Store (для iOS либо tvOS). Другие типы профилей здесь не поддерживаются.
Резюмируем
По сути, при получении доступа к девцентру с активной Apple Developer Program ваш алгоритм действий должен сводиться к следующему:
- Определиться, с каких конкретно машин будет производиться прямая отладка на устройствах через Xcode. Определить среди них основную машину (это может быть Mac разработчика, с которого чаще всего планируется производить отладку). Сгенерировать для основного Mac сертификаты группы Development, скачать и установить их. По необходимости, экспортировать информацию об этих сертификатах в файлы *.p12/*.pfx, которые потом можно будет разослать на другие целевые машины, где также планируется проводить отладку приложений.
- Узнать, с какой машины планируется собирать сборки для тестирования и/или публикации в App Store. Сгенерировать для нее сертификат группы Distribution. Повторить процедуру с экспортом из предыдущего пункта, если требуется поддержка нескольких машин.
- Проконтролировать наличие нужного идентификатора приложения в разделе App IDs и соответствие указанного там бандла значению поля Bundle Identifier в проекте в Xcode, при наличии несовпадения — устранить его либо в девцентре, либо в Xcode (где именно это править — зависит от вашей конкретной ситуации).
- Убрать (Revoke/Delete) все сертификаты, а затем и профили, которые обладают пометкой Expired (истекший сертификат) или Invalid (некорректный профиль). Также отмечу, что, в отличие от сертификатов, профили можно редактировать. То есть, сгенерировав новые сертификаты, вместо удаления старых профилей вы можете просто отредактировать их, указав им новые сертификаты в качестве подписи.
- Если профилей нет, либо не хватает нужных, то сгенерировать необходимые профили.
- Скачать и установить нужные для вашей машины сертификаты и профили на свой компьютер. Установка производится двойным кликом на файле. Сертификаты будут установлены в Связку Ключей (Apple Keychain), профили — в Xcode.
- Указать в настройках проекта Xcode нужные вам сертификаты в секции Build Settings — Code Signing Identity — Development/Distribution, а также указать необходимый Provisioning Profile.
На этом подготовка и чистка девцентра завершается. Далее вы можете выполнять любой из нижеследующих пунктов по необходимости:
- Произвести запуск в режиме отладки (Project — Run) через Xcode на разрешенном устройстве, используя дев-профиль.
- Создать сборку (Project — Archive с выбранным целевым устройством Generic iOS Device) на базе продакшн-профиля Ad Hoc для установки на конкретные устройства (такую сборку можно будет выслать, например, по электронной почте заказчику, чтобы он установил ее на свое разрешенное устройство).
- Создать сборку аналогично предыдущему пункту, но на базе продакшн-профиля App Store. Это будет сборка для внутреннего и/или внешнего тестирования, а также для выкладки в App Store, которую можно использовать в iTunes Connect.
Надеюсь, это подробное описание поможет вам разобраться в специфике функционирования системы сертификации приложений Apple, а также поможет навести порядок в Apple Developer Center.
Источник