Книга: iOS. Приемы программирования
Обсуждение
Обсуждение
Необходимо подписывать приложения соответствующим профилем инициализации, который создан на том же портале, что и ID типа талона. Это требуется для того, чтобы вы могли считывать собственные талоны из приложения Passbook, установленного на пользовательском устройстве. Процесс проиллюстрирован на рис. 19.18.
Рис. 19.18. Процесс обеспечения доступа к талонам в приложении для iOS на устройстве с iOS
Итак, начнем! Предполагается, что на данном этапе у вас уже есть сертификат на разработку/распространение. Создадим идентификатор App ID для идентификатора типа талона (Pass Type ID), подготовленного нами в разделе 19.1. После этого займемся созданием соответствующего профиля инициализации для App ID. Сделайте вот что.
1. Перейдите в центр разработки для iOS (iOS Dev Center) в вашем браузере и зайдите на этот сайт под своим именем, если еще не сделали этого.
2. Перейдите в раздел Certificates, Identifiers & Profiles (Сертификаты, идентификаторы, профили).
3. Далее перейдите в раздел Identifiers (Идентификаторы), а затем в раздел App ID (Идентификатор приложения) и там нажмите экранную кнопку с символом +.
4. В поле Description (Описание) опишите ID вашего приложения. Эти сведения должны быть информативными для вас, вашей команды и организации.
5. В качестве значения Bundle Seed ID (Префикс идентификатора) укажите Use Team ID (Использовать ID команды).
6. В разделе Bundle Identifier (Идентификатор пакета) (суффикс App ID) укажите идентификатор пакета, записанный в стиле обратного доменного имени. В моем случае при работе с талоном, имеющим ID pass.pixolity.testingpasskit, идентификатор пакета App ID будет записываться как com.pixolity.testingpasskit.
7. Убедитесь, что установлен флажок Explicit App ID (Явный идентификатор приложения), и полностью введите в стиле обратного доменного имени идентификатор пакета приложения, который вы хотите создать. Я задал здесь значение com.pixolity.ios.cookbook.testingpasses, а мой идентификатор типа талона (Pass Type ID) ранее был задан как pass.pixolity.ios.cookbook.testingpasses. Идентификатор типа талона может и не совпадать с идентификатором пакета, но если такое совпадение соблюдается, то в будущем вам будет гораздо проще находить нужный идентификатор типа талона, если уже известен идентификатор приложения.
8. В разделе App Services (Сервисы приложения) на этой странице нужно обязательно установить флажок Passbook. Так вы откроете в вашем приложении доступ к книге талонов Passbook.
9. Когда сделаете это, нажмите кнопку Continue (Продолжить). На следующем экране, который откроется перед вами (рис. 19.19), вы увидите все значения, которые ввели на предыдущей странице. Просмотрите их еще раз внимательно и, если вас все устроит, нажмите кнопку Submit (Отправить).
Рис. 19.19. Обзор нового идентификатора приложения (App ID) перед интеграцией его с Passbook
10. Теперь, когда вы активизировали использование талонов для данного App ID, создадим профиль инициализации. Перейдите в подраздел Provisioning Profiles (Профили инициализации) раздела iOS Provisioning Profile (Профиль инициализации iOS).
11. Мы собираемся создать профиль инициализации для разработки, а не Ad Hoc (Специальная сборка). Поэтому в подразделе Provisioning (Инициализация) раздела Development (Разработка) нажмите кнопку +.
12. Откроется следующий экран. На нем выберите элемент iOS App Development (Разработка приложения для iOS) и нажмите кнопку Continue (Продолжить).
13. Теперь вам будет предложено выбрать идентификатор приложения (App ID) для вашего профиля. Выберите идентификатор приложения, созданный вами раньше в этом разделе книги, и нажмите кнопку Continue (Продолжить) (рис. 19.20).
Рис. 19.20. Выбор правильного идентификатора приложения для нового профиля инициализации, создаваемого для целей разработки
14. Теперь вы увидите список доступных сертификатов для разработки, которые есть у вас на портале. Выберите один или несколько сертификатов, с которыми хотите ассоциировать ваш профиль. Обычно принято ассоциировать профиль всего с одним сертификатом, но на портале, где трудится много программистов, у каждого из которых есть свой сертификат разработки, бывает необходимо создать такой профиль, который ассоциирован сразу с несколькими сертификатами. Сделав выбор, нажмите кнопку Continue (Продолжить).
15. Далее вы увидите список зарегистрированных устройств. Выберите из него те устройства, которые будут включены в ваш профиль. Сделав это, нажмите кнопку Continue (Продолжить).
16. На следующем экране система запросит у вас указать имя профиля. Дайте ему информативное имя, а затем нажмите кнопку Generate (Сгенерировать).
17. Когда ваш профиль будет сгенерирован, нажмите кнопку Download (Скачать), чтобы загрузить его на ваше устройство (рис. 19.21). После того как загрузка завершится, перетащите этот профиль в iTunes, чтобы установить его на вашем устройстве.
Рис. 19.21. Профиль Passbook готов к скачиванию
Существует несколько способов установки профиля инициализации в операционной системе OS X. Самый лучший и быстрый способ — просто перетащить профиль в iTunes. Профиль также можно установить, воспользовавшись Xcode. Какой бы способ вы ни выбрали, ни в коем случае не делайте двойного щелчка на профиле в ходе его установки. В случае двойного щелчка профиль установится на диске под совершенно невразумительным названием, и позже вам будет очень сложно найти нужный профиль среди множества других. Чтобы не засорять диск, пользуйтесь iTunes или Xcode для установки профилей инициализации. Все профили инициализации, установленные у вас на диске, можно просмотреть в файле ~/Library/MobileDevice/Provisioning Profiles/.
18. Теперь откройте ваш проект в Xcode. На вкладке Build Settings (Настройки сборки) выберите только что созданный профиль инициализации для отладочных сборок (Debug-only). То же самое можно сделать и для специальных сборок (Ad Hoc), но в схеме Release (Релиз) на вкладке Build Settings (Настройки сборки).
19. В Xcode рядом с вкладкой Build Settings (Настройки сборки) выберите Capabilities (Возможности), найдите там элемент Passbook и переведите его виртуальный переключатель в положение On (Включено) (рис. 19.22).
Рис. 19.22. Активизация Passbook в Xcode
20. Как только вы переведете переключатель для Passbook в положение On (Включено), Xcode свяжется с центром разработки и выберет оттуда все доступные для вас идентификаторы типа талона. В списке (рис. 19.23) выберите тот идентификатор типа талона, который вы создали ранее в этом разделе.
Рис. 19.23. Выбор корректного идентификатора типа талона в Xcode.
Вот мы и закончили настройку фреймворка Pass Kit! Осталось написать приложение, которое будет иметь доступ к талонам, расположенным на устройстве. Это приложение будет описано в разделе 19.9.