2013-11-20 2 views
4

Все веб-сайты упоминают, что Passbook pass можно отправить по электронной почте. Но когда пропуск (сгенерированный нашим сервером) присоединен к электронной почте, клиент электронной почты iOS не откроет его и не напишет «(null)». Тот же пропуск отлично работает на Android, и у него нет проблем с общением с нашим веб-сервисом. Есть идеи? Поиски Google не предлагали никаких решений.pkpass не откроется на iOS из приложения электронной почты

Скриншот:

enter image description here

+0

Алекс, был этот вопрос для iOS6 или ios7? У меня такая же проблема, но я еще не смог ее решить. – SAL

+0

Для обоих, но мы только пробовали его на iOS 7. iOS кажется очень строгим с проверкой поля. Например, это не сработает, если значение одного из полей равно null. Помог ли вам «разрешенный» пост? – Alex

+0

Алекс, я прошел через все сертификаты и полностью пересмотрел свой подход, используя подход Саймона Вальдэрра (https://github.com/SimonWaldherr/passkit.php). У меня теперь есть работа на iOS 7. Спасибо, что начал этот пост. – SAL

ответ

3

Решено: Были многочисленные проблемы:

  • Маркер аутентификации должен быть длиной не менее 16 символов
  • Я использовал «Apple Inc. Root Certificate» (неправильный) вместо «AppleWWDRCA "(правильный)
  • для производства веб-службы необходимо использовать протокол HTTPS
+0

Привет, Алекс, не могли бы вы подробно остановиться на вопросе «токен аутентификации»? Как вы его установили? Кажется, у меня такая же проблема. http://stackoverflow.com/questions/21705439/safari-ios-cannot-open-passbook-pkpass – lucafik

+0

Значение поля "authenticationToken" в pass.json должно быть не менее 16 символов. Поэтому просто поставьте что-то подобное в своем json: «authenticationToken»: «1234567890abcdef» – Alex

+1

Вы можете опустить поля '' webServiceURL '' и '" authenticationToken "'. Они являются факультативными и имеют значение только для «прохождения обновления». –

2

Вы получаете, что, когда проходят в недействительны, скорее всего, из-за этого неправильно подписаны и/или сертификат пропуск истекло.

Перетащите свой пропуск в iPhone Simulator и проверьте приложение Console, чтобы найти ошибку в журналах.

+0

Я развиваюсь в Windows и не имею доступа к симулятору. Сертификат был создан сегодня. – Alex

+0

По-прежнему звучит как ошибка подписи. Вы включаете сертификат WWDR и дату подписания? Если вы можете прикрепить ссылку на ваш пакет .pkpass, мы можем взглянуть. – PassKit

+0

Мы используем верхний сертификат WWDR здесь: http://www.apple.com/certificateauthority/ И вот файл pkpass: http://www.mediafire.com/download/n8p1z764o1zdjdv/pass.pkpass – Alex

Смежные вопросы