iOS. Приемы программирования
Шрифт:
В результате все файлы талона будут упакованы в архив pass.pkpass. Вновь необходимо убедиться в том, что в готовом архиве не будет файла. DS_Store.
См. также
Разделы 19.1 и 19.4.
19.6. Распространение талонов по электронной почте
Постановка задачи
Требуется
Решение
Посылайте талоны по электронной почте в виде прикрепленных файлов.
Обсуждение
Талон, который вы подписали и упаковали в разделе 19.5, готов к распространению. Один из простейших способов распространения талонов — по электронной почте. Выполните следующие шаги, чтобы рассылать ваши талоны с помощью приложения Mail.app из операционной системы OS X.
1. Откройте приложение Mail.app в операционной системе OS X. В меню File (Файл) выберите пункт New Message (Новое сообщение).
2. Введите адрес электронной почты того клиента, которому хотите послать талон.
3. Введите заголовок электронного сообщения.
4. Введите текст электронного сообщения. После этого просто перетащите файл pass.pkpass, подготовленный в разделе 19.5, в конец вашего электронного сообщения (рис. 19.15).
Рис. 19.15. Распространение талонов с цифровой подписью с помощью приложения Mail.app операционной системы OS X
5. Отправьте электронное письмо.
В операционной системе OS X Mavericks у пользователей появилась возможность просматривать талоны прямо в приложении Mail.app. Поскольку программа Passbook интегрирована с облаком iCloud, теперь вы можете нажать на сенсорном экране на талон, прикрепленный к электронному письму, и отправить его прямо на ваше устройство (устройства) с iOS. Для этого на мобильном устройстве должна быть установлена программа Passbook, а также активизирована связь с iCloud — это делается в соответствующем разделе настроек (рис. 19.16).
Рис. 19.16. В операционной системе OS X Mavericks талоны отображаются прямо в приложении Mail.app
Теперь, работая с сенсорным экраном, пользователь может нажать пальцем на талон, прикрепленный к письму. В результате откроется приложение Passbook, в интерфейсе которого талон отобразится, и пользователь сможет добавить его в Passbook.
См. также
Раздел 19.7.
19.7. Распространение талонов с помощью веб-сервисов
Постановка задачи
Требуется, чтобы пользователи могли скачивать прямо с вашего сайта талоны, снабженные цифровой подписью.
Решение
На своих веб-страницах создавайте гиперссылки на талоны. pkpass. Когда пользователь будет просматривать веб-страницы на устройстве, он может просто нажать на сенсорном экране заинтересовавшую его ссылку. Когда он это сделает, браузер Safari обнаружит, что ссылка указывает на файл. pkpass, и передаст этот файл в Passbook. В результате талон будет отображаться на сайте, а пользователи смогут добавлять талоны в приложения Passbook.
Обсуждение
Браузер Safari в операционной системе iOS не может непосредственно обрабатывать загрузку файлов талонов в формате. pkpass. Чтобы реализовать такую возможность, необходимо создавать веб-страницы и включать в них гиперссылки, указывающие на файлы. pkpass. Простой код на языке HTML, доставляющий пользователю файл pass.pkpass, приведен далее:
Ссылка указана здесь как localhost, так как в моей операционной системе OS X установлен и работает веб-сервер Apache. Вместо localhost вам понадобится дать такую ссылку, которая будет корректна в вашей среде разработки.
Теперь, когда пользователь откроет ссылку на своем устройстве в браузере Safari, он увидит примерно такую картинку, как на рис. 19.17.
Рис. 19.17. Просмотр сайта в браузере Safari на симуляторе iOS
Когда пользователь нажмет на ссылку, перед ним на экране откроется знакомый графический интерфейс Passbook. Пользователь сможет добавить полученный талон в Passbook.
См. также
Раздел 19.6.
19.8. Настройка возможности доступа к талонам в приложениях, работающих на устройстве с операционной системой iOS
Постановка задачи
Требуется развернуть приложение с поддержкой Passbook на устройстве с операционной системой iOS и гарантировать, что ваше приложение сможет читать талоны с цифровой подписью, имеющиеся на этом устройстве.
Решение
Создайте соответствующий профиль инициализации для вашего приложения. Он должен быть связан с ID приложения. Это приложение должно обладать доступом на работу с талонами.