Сберкнижка FAQ
Ответы на некоторые наиболее распространенные проблемы Вы могли бы встретиться при интеграции Сберкнижки в приложение.
Добавление передач в сберкнижку
Почему мои передачи выводят на экран штраф в PKAddPassesViewController, но когда я касаюсь, Добавляют, что они не становятся добавленными к Сберкнижке?
Если передаче не удается быть добавленной к библиотеке Passbook, существует, входит в систему консоль для объяснения, почему это не могло быть добавлено. Это - первая вещь посмотреть на то, для диагностирования отказов, добавляющих передачи. Наиболее распространенной причиной является неправильная подпись в передаче, вызванной одним из следующего:
Промежуточный Сертификат WWDR не был включен при подписании. Это свидетельство может быть загружено отсюда: Apple Промежуточный Сертификат WWDR.
Идентификатор команды в pass.json файле не соответствует, идентификатор команды в свидетельстве раньше подписывал передачу. Ваш идентификатор команды может быть найден в Вашем профиле на Задействованном Центре.
Содержание manifest.json файла фактически не соответствует содержание каталога передачи. Не изменяйте содержание пакета передачи или любого файла в передаче после подписания его. Любые расхождения между тем, что файл манифеста указывает и содержание пакета передачи, будут зарегистрированы к консоли. При создании manifest.json файла не включайте записи для файлов подписи или manifest.json.
Используйте signpass инструмент, чтобы проверить, что Ваши передачи подписываются правильно. Исходный код для signpass инструмент может быть найден в образе диска Материалов Поддержки Сберкнижки.
Почему мое приложение в состоянии добавить передачи, но оно не в состоянии получить доступ к ним использующий класс PKPassLibrary?
Добавление передачи в Сберкнижку требует явного пользовательского действия (т.е. пользователь должен коснуться кнопки Add), таким образом, эта работа не требует никакой специальной установки или права. Для доступа к передаче, однако, приложение должно иметь надлежащее право. Приложение может только получить доступ к передачам в библиотеке Passbook, подписанным с помощью свидетельства от той же группы разработчиков, подписавшей приложение. Поэтому, если Вы уже имеете сопутствующее приложение, или потенциально можете иметь один в будущем, крайне важно, чтобы Вы запланировали заранее и зарегистрировали передачи в той же группе разработчиков. Для конфигурирования прав для приложения используют раздел Entitlements вкладки Summary в XCode. Установите флажок 'Use Entitlements File' для включения прав, затем выберите надлежащую опцию в разделе Passes в зависимости от того, хотите ли Вы предоставить доступ к определенным идентификаторам типов передачи или какой-либо передаче, принадлежащей группе разработчиков, указанной в профиле настройки, используемом для приложения.
Что лучший путь состоит в том, чтобы позволить добавить передачи в Сберкнижку в моем приложении?
Лучший способ позволить пользователям добавлять передачи в свою библиотеку Passbook состоит в том, чтобы использовать, «Добавьте к Сберкнижке» значок, предоставленный Apple. Этот значок доступен на многочисленных языках и предоставляет непротиворечивый визуальный индикатор Вашим пользователям, что они могут легко добавить передачу в свою Библиотеку Сберкнижки. Покажите Добавление к значку Сберкнижки в очевидном месте для создания его очевидным для пользователей, как добавить передачу. Например, при обеспечении билета для события, Вы могли бы поместить Добавление к значку Сберкнижки непосредственно в подтверждении закупки, показанном пользователю. Для оптимизации опыта сократите количество касаний, требуемых добавить передачу. То, когда пользователь касается на этом значке следующей вещи, они должны видеть, является PKAddPassesViewController.
Локализованные значки и инструкции по использованию могут быть найдены на странице Passbook for Developers.
Пользователи могут добавить передачи в свою библиотеку от OS X?
Да, передачи могут быть добавлены к Сберкнижке с помощью Safari или Почты у Пумы OS X (10.8.2 или позже). Если у Вас есть веб-сайт, где он целесообразен для пользователя добавлять передачу в Сберкнижку, позвольте им делать так и в iOS и в OS X. При обнаружении браузера, поскольку Safari, работающий на OS X 10.8.2 или позже, покажите Добавление к значку Сберкнижки и ссылку к передаче. Обязательно используйте корректный тип MIME для Вашей передачи, application/vnd.apple.pkpass. Передачи, добавленные к Сберкнижке на OS X, будут сохранены в iCloud и автоматически отправлены в весь iPhone и устройства iPod touch, сконфигурированные с той же учетной записью iCloud.
Создание передач
Передачи поддерживают одномерные штрихкоды?
Нет, передачи поддерживают двухмерные штрихкоды только включая ацтека, PDF417 и QR-коды.
Как я могу включать ссылки в конце своей передачи?
Сберкнижка использует Детекторы Данных для автоматического добавления ссылок к тексту в полях в конце передачи. Веб-сайт URLs, адреса расположения и телефонные номера будет автоматически обнаружен и превращен tappable гиперссылки.
Распределение передач
Единственный путь состоит в том, чтобы получить передачу в Сберкнижку через приложение?
Нет. Передачи могут быть распределены тремя способами: как присоединение к электронному письму, загруженному с веб-сайта, или через приложение. Передачи, распределенные по электронной почте и веб-сайты, могут быть добавлены с помощью iOS (на iPhone и iPod touch) или Пума OS X (10.8.2 или позже). Распределите свою передачу с помощью в качестве многих из этих трех путей, которые целесообразны для ситуации. Рекомендуется использовать Добавление к значку Сберкнижки каждым способом, которым Вы принимаете решение распределить свою передачу для обеспечения непротиворечивого визуального индикатора для пользователей.
Я использую UIWebView в своем приложении, и оно автоматически не поддерживает добавляющие передачи в Сберкнижку. Что я должен сделать?
UIWebViews автоматически не поддерживают добавляющие передачи в Сберкнижку. Для добавления передач с помощью UIWebView реализуйте надлежащие методы UIWebViewDelegate для идентификации, когда представление загрузит данные типом MIME application/vnd.apple.pkpass. Загрузите данные для запроса и инстанцируйте объекта PKPass с теми данными. Используйте класс PKAddPassesViewController для представления передачи в пользователя, или если передача уже находится в Библиотеке Сберкнижки пользователя, используйте -[PKPassLibrary replacePassWithPass:] метод для обновления его.
Обновление передач
Я могу изменить что-нибудь в своем pass.json файле при обновлении передачи?
Почти все в передаче может быть изменено при обновлении передачи. Единственные поля в pass.json файле, который не может быть изменен, являются идентификатором типа передачи и порядковым номером. Не рекомендуется изменить authenticationToken поле передачи.
Если передача истекла или была выплачена, как я могу удалить передачу из библиотеки Passbook?
Поскольку передачи явно добавляются пользователями к их библиотеке Passbook, Вы не должны тихо удалять передачу за спиной пользователя. Пользователи должны осознать ситуацию и решить, когда удалить что-то из их библиотеки. Для передач, что приложение имеет доступ к, -[PKPassLibrary removePass:] метод может удалить передачу, но только сделать это в ответ на пользовательское действие или подтверждение от пользователя для удаления передачи.
Отправка уведомлений нажатия передачам
Если я отправлю нажатие в устройство, больше не имеющее мою передачу, то тот маркер обнаружится в службе обратной связи APNs?
Когда пользователь удаляет передачу из их устройства, конечную точку Вашего веб-сервера для отмены подписки той передачи вызывают. Важно обработать этот вызов путем удаления передачи из списка передач, на которые подписалось устройство. Отправка уведомления нажатия для передачи, на которую не подписано устройство, является неправильным поведением.
Маркер нажатия определяется идентификатором типа передачи и устройством, не отдельной передачей. Это означает, отправляете ли Вы неправильно уведомление нажатия за передачей, на которую не подписано устройство, результат зависит от того, существуют ли другие передачи с тем же идентификатором типа передачи в библиотеке Passbook того устройства:
Если устройство не имеет никаких передач с тем же идентификатором типа передачи (или не подписан на обновления для них), то маркер нажатия недопустим. В этом случае маркер нажатия DOES появляется в службе обратной связи APNs.
Если устройство подписано на другие передачи с тем же идентификатором типа передачи, то маркер нажатия все еще допустим, и это НЕ появляется в службе обратной связи APNs. В этом случае, когда Сберкнижка получает нажатие, она запрашивает Ваш веб-сервис для поиска обновленных передач. Если нет никаких изменений (например, потому что это устройство не подписано на передачу, обновленную), Сберкнижка вызывает конечную точку журналирования на Вашем сервере, чтобы предупредить, что Ваш сервер отправил ненужное уведомление нажатия. Рассмотрите свои журналы периодически, чтобы поймать и исправить этот вид ошибки.
Мои уведомления нажатия, кажется, не работают, что я должен сделать?
Консультируйтесь с этим документом для полезной информации о поиске и устранении неисправностей уведомлений нажатия.
История версии документа
| Дата | Примечания |
|---|---|
| 10.01.2013 | Новый документ, предоставляющий ответы к часто задаваемым вопросам о разработке Сберкнижки. |