Я закончил настройку маршрутов веб-сервиса в соответствии с документацией Apple и могу подписывать и предоставлять пропуска. К сожалению, столкнулся со следующей проблемой. Когда я определяю webServiceUrl как "https://localhost:5000/wallet/", подписание прохода работает как положено. Затем я использую пропуск в симуляторе iOS, где я включил «Разрешить службы Http» в настройках разработчика, но я все еще получаю сообщение об ошибке «Произошла ошибка SSL, и безопасное подключение к серверу невозможно». Попытка использовать http вместо https непосредственно в определении webServiceUrl в файле pass.json приводит к ошибке подписи. Знаете ли вы, какие шаги необходимо выполнить, чтобы иметь возможность тестировать обновления прохождения локально?
Локальная разработка Apple Wallet Pass с URL-адресом http
Ответы (1)
Предупреждение говорит вам все, что вам нужно знать.
Измените свой webServiceUrl
на http://localhost:5000/wallet/
. Вариант разработчика означает, что вам не нужно использовать https, и пропуск должен по-прежнему устанавливаться на любом устройстве с установленным параметром «Разрешить службы Http».
person
PassKit
schedule
09.01.2020
Я сделал это, но тогда я не могу подписать пропуск. Я получаю исключение. Как я могу подписать пропуск с помощью webServiceUrl=localhost:5000/wallet? У вас работает двоичный файл signpass от Apple?
- person koufa; 09.01.2020
Какую библиотеку вы используете для подписи пропуска? Вам нужно будет переопределить это исключение, поскольку оно налагается вашим кодом подписи, а не Apple.
- person PassKit; 09.01.2020
Я использую github.com/walletpass/pass-js. Я реализую свой сервер с помощью Node.js. Вы рекомендуете другую библиотеку для Node.js?
- person koufa; 09.01.2020
Нет, я использую свою собственную библиотеку golang, но я уверен, что не составит большого труда вручную отредактировать ваш пакет узла, чтобы удалить проверку во время тестирования.
- person PassKit; 09.01.2020
Спасибо, я попробую, но странно, что официальный инструмент Apple: signpass также выдает ошибку при попытке подписать файл pass.json, который содержит конечную точку http для поля webServiceUrl.
- person koufa; 09.01.2020
Исходный код для signpass также доступен, поэтому вы можете изменить и перекомпилировать его, чтобы снять ограничение, если вам просто нужно что-то для быстрого тестирования. Проверка действительна, поскольку производственные проходы не будут установлены, если они содержат http
webServiceUrl
.
- person PassKit; 09.01.2020
Спасибо за ответы. signpass, кажется, работает без изменений. Я повторил попытку сейчас, вероятно, раньше была другая ошибка. И да, его можно открыть на устройстве с параметром разработчика «Разрешить службы Http», установленным в значение true.
- person koufa; 09.01.2020