pkpass не открывается на iOS из вложения электронной почты

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

Снимок экрана:

введите здесь описание изображения


person Alex    schedule 20.11.2013    source источник
comment
Алекс, это вопрос был для ios6 или ios7? У меня похожая проблема, но я пока не могу ее решить.   -  person SAL    schedule 05.12.2013
comment
Для обоих, но мы пробовали это только на iOS 7. iOS, похоже, очень строга с проверкой полей. Например, это не сработает, если значение одного из полей равно нулю. Помог ли вам «решенный» пост ниже?   -  person Alex    schedule 06.12.2013
comment
Алекс, я просмотрел и воссоздал все сертификаты и полностью пересмотрел свой подход, используя подход Саймона Вальдхерра (github.com /SimonWaldherr/passkit.php). Теперь он работает на iOS 7. Спасибо за начало этого поста.   -  person SAL    schedule 06.12.2013


Ответы (2)


Решено: Было несколько проблем:

  • Токен аутентификации должен иметь длину не менее 16 символов.
  • Я использовал «Корневой сертификат Apple Inc.» (неправильный) вместо «AppleWWDRCA» (правильный)
  • Для производства веб-сервис должен использовать https
person Alex    schedule 21.11.2013

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

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

person passforce    schedule 20.11.2013
comment
Я разрабатываю для Windows и не имею доступа к симулятору. Сертификат был создан сегодня. - person Alex; 20.11.2013
comment
Все еще звучит как ошибка подписи. Включаете ли вы сертификат WWDR и дату подписания? Если вы можете прикрепить ссылку на свой пакет .pkpass, мы можем посмотреть. - person PassKit; 20.11.2013
comment
Мы используем верхний сертификат WWDR отсюда: apple.com/certificateauthority А вот файл pkpass: mediafire.com/download/n8p1z764o1zdjdv/pass.pkpass - person Alex; 20.11.2013
comment
это должен быть настоящий ответ. - person Tom Roggero; 17.04.2015