iOS. Приемы программирования
Шрифт:
См. также
Раздел 18.2.
Глава 19. Фреймворк Pass Kit
19.0. Введение
Пожалуй, всем приходилось иметь дело с проездными билетами, дисконтными картами и скидочными талонами. Например, вы ходите в кофейню, в которой постоянным клиентам раздают специальные дисконтные карты. Если вы уже успели заказать определенное количество чашек кофе, то вам предложат бесплатную чашечку за счет заведения. Дисконтные карты используются и в магазинах. Например, вы можете купить в супермаркете
На рис. 19.1 показано, как на устройстве с iOS выглядит обычный (бесплатный) железнодорожный билет, отображенный в Passbook.
Рис. 19.1. Железнодорожный билет, представленный в виде талона в приложении Passbook на устройстве с iOS
Приложения iOS для взаимодействия с такими бесплатными билетами могут использовать также фреймворк Passbook. Вернемся к примеру с кофейней. Если мы пишем мобильное приложение для этой кофейни, то можем предусмотреть в нем и такую возможность: посетитель добавляет к дисконтной карточке некоторую сумму, что позволяет ему не только выпить кофе, но и воспользоваться Wi-Fi-соединением. Итак, когда пользователь открывает такое приложение, он замечает в базе данных Passbook клубный талон, полученный именно в этой кофейне. Пользователь может добавить некоторую сумму к этому талону прямо на устройстве, а затем сообщить барриста, что внес плату за пользование сетью через приложение, где имеется виртуальный клубный талон.
Pass Kit — это цифровое решение от Apple для осуществления именно таких транзакций. Итак, разберемся с терминологией, а затем изучим эту тему подробнее.
• Pass Kit. Фреймворк Pass Kit от Apple позволяет разработчикам доставлять виртуальные скидочные талоны, снабженные цифровой подписью, на совместимые устройства с операционной системой iOS 6 и выше.
Passbook. Клиентское приложение на устройствах с iOS 7. Позволяет хранить и обрабатывать талоны, созданные разработчиками, а также управлять этими талонами.
Итак, мы (разработчики) будем пользоваться Pass Kit для создания талонов с цифровой подписью и доставки их нашим пользователям. Пользователям потребуется взаимодействовать с талонами, которые мы для них создаем, для этого они будут использовать приложение Passbook, установленное на устройстве. Итак, мы сможем выдавать пользователям в цифровой форме различные талоны, проездные билеты, скидочные купоны, дисконтные и клубные карты и т. д. Не придется носить целую стопку карточек в кошельке. Весь этот контент можно хранить в одном месте — в приложении Passbook для iOS.
Прежде чем опробовать эту новую технологию, рассмотрим общую картину: как именно спроектировано такое хранилище и как оно помогает достигать наших целей. Я разделил эту концепцию на несколько более мелких элементов. Рассмотрим, как доставлять пользователям талоны, снабженные цифровой подписью.
1. Разработчик создает сертификат и соответствующий ему закрытый ключ. Это делается на портале инициализации Apple (Apple Provisioning Portal).
2. Затем разработчик
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. Когда вы окажетесь на нужной странице, она, возможно, еще будет пуста. Найдите и нажмите экранную кнопку +.