Чтение онлайн

ЖАНРЫ

iOS. Приемы программирования

Нахавандипур Вандад

Шрифт:

3. Разработчик подписывает созданный талон с применением того сертификата, который был создан на первом этапе.

4. Разработчик тем или иным способом доставляет талон пользователю.

5. Пользователь увидит талон и сможет добавить его на свое устройство.

6. Как только талон окажется на пользовательском устройстве, Passbook сохранит его для последующего использования до тех пор, пока пользователь не решит удалить талон.

Конечно, после прочтения этого списка у вас могла еще не сложиться целостная картина. На рис. 19.2 все показано наглядно.

Рис. 19.2.

Создание и распространение среди пользователей талонов с цифровой подписью в операционных системах iOS 6 и выше

Все детали процесса будут подробно описаны в разделах этой главы. Некоторые технологические аспекты Pass Kit, связанные с тем, как обеспечивать актуальность ваших талонов и отсылать уведомления с сервера, требуют определенных знаний о серверном программировании. Ради упрощения материала мы не будем в этой главе останавливаться на данных аспектах, а поговорим преимущественно о создании талонов. Научившись создавать талоны, вы сможете распространять их разными способами. Два из таких способов объяснены в этой главе. Те детали, которые связаны не с системой iOS непосредственно, а с серверной разработкой, в этой главе не рассматриваются.

19.1. Создание сертификатов Pass Kit

Постановка задачи

Требуется распространять между пользователей талоны с цифровой подписью. Для этого первым делом нужно создать цифровые сертификаты для подписывания ваших талонов.

Решение

Создавайте цифровые сертификаты на портале инициализации iOS.

Обсуждение

Как было объяснено во введении к этой главе, для распространения талонов между пользователями эти талоны требуется снабжать цифровыми подписями. А перед этим нужно получить в Apple сертификат, который позволил бы уникально связать все талоны с вашей учетной записью разработчика. Таким образом Apple отличает «настоящие» талоны от «ненастоящих».

При создании сертификата выполните следующие шаги.

1. В браузере откройте центр разработки для iOS (iOS Dev Center). Не буду ставить здесь ссылку, так как со временем она может измениться. Просто введите такой запрос в поисковик — и он выдаст вам нужный сайт в мгновение ока.

2. Если вы еще не вошли на сайт под вашей учетной записью, сделайте это.

3. Оказавшись в системе, перейдите на страницу Certificates, Identifiers & Profiles (Сертификаты, идентификаторы, профили).

4. Перейдите на страницу Identifiers (Идентификаторы) и далее на страницу Pass Type ID (ID типа талона). Соответствующий раздел находится в левой части экрана.

5. Когда вы окажетесь на нужной странице, она, возможно, еще будет пуста. Найдите и нажмите экранную кнопку +.

6. Теперь в поле Description (Описание) введите текст, который будет описывать ID типа вашего талона.

7. В поле Identifier (Идентификатор) введите идентификатор талона в формате обратного доменного имени. Например, если ID вашего приложения — com.pixolity.testingpasskit, то для талонов, интегрированных с данным приложением, подойдет идентификатор pass.pixolity.ios.cookbook.testingpasses. Разумеется, следует подбирать для идентификаторов талонов такие названия, которые что-то означают в контексте вашего приложения. На практике принято начинать имя идентификатора с pass, а затем можно писать все, что хотите. На рис. 19.3 показано, как нужно заполнять поля на этой странице.

Рис. 19.3. Внесение информации о простом идентификаторе типа талона

Когда закончите заполнение этой страницы, нажмите кнопку Continue (Продолжить).

Вам для предварительного просмотра будет представлен талон. Если вас все устроит, просто нажмите кнопку Register (Зарегистрировать) (рис. 19.4). Итак, теперь у вас есть идентификатор типа талона. Но он пока не связан ни с одним сертификатом. Чтобы создать сертификат и ассоциировать его с вашим идентификатором типа талона, выполните следующие шаги.

Рис. 19.4. Если вся информация указана правильно, подтвердите создание ID типа талона

1. В разделе Pass Type ID (Идентификаторы типа талона) на портале инициализации iOS найдите созданный вами идентификатор и нажмите кнопку Settings (Настройки) (рис. 19.5). В столбце Pass Certificate (Сертификаты талонов) в этом списке вы увидите, что ваш идентификатор типа талона обозначен как None (Отсутствует). В столбце Action (Действия) нажмите ссылку Configure (Сконфигурировать).

Рис. 19.5. Задаем идентификатор типа талона

2. Выбрав на портале идентификатор типа талона, вы сможете создать для него сертификат (рис. 19.6). Просто нажмите кнопку Create Certificate (Создать сертификат).

Рис. 19.6. Мы готовы создать сертификат для идентификатора типа талона

3. Теперь вам будет предложено создать запрос на подписывание сертификата, воспользовавшись доступом к связке ключей на Mac (рис. 19.7). Следуйте инструкциям, которые видите на экране. Когда закончите создание запроса на подписывание сертификата, нажмите экранную кнопку Continue (Продолжить).

Рис. 19.7. Выполняйте инструкции по созданию запроса на подписывание сертификата

Запрос на подписывание сертификата можно создать не только в Mac. Для создания такого запроса необходимо убедиться, что на вашей машине установлен Open SSL. Описание генерирования сертификатов на машинах, где не установлен Mac, выходит за рамки этой книги. Однако, если вас интересует этот вопрос, вы легко найдете ответ на него в Интернете — достаточно немного поискать.

Создавая на компьютере запросы на подписывание сертификата (это делается с помощью доступа к связке ключей), вы также создаете закрытый ключ, ассоциированный с таким сертификатом. Apple рекомендует время от времени делать резервные копии базы данных связки ключей, так как на портале инициализации iOS эти ключи не сохраняются. Если вы переходите к работе с новым компьютером, то ваши ключи туда нужно будет перенести вручную. Поэтому они и называются закрытыми. Экспортировать закрытые ключи несложно: щелкните на ключе правой кнопкой мыши и выберите в контекстном меню команду Export (Экспортировать).

4. Далее в браузере вам будет предложено загрузить запрос на подписывание сертификата на сайт Apple, чтобы в ответ получить готовый сертификат. Закрытый ключ был создан на вашем компьютере в тот самый момент, когда вы подготовили запрос на подписывание сертификата. Сертификат, который Apple выдаст по окончании процесса, будет подходить к закрытому ключу. Далее нажмите кнопку Choose File (Выбрать файл) на этом экране, чтобы выбрать запрос на подписывание сертификата, созданный для вас связкой ключей (рис. 19.8). Сделав это, нажмите кнопку Generate (Сгенерировать).

Поделиться с друзьями: