Локальная разработка Apple Wallet Pass с URL-адресом http

Я закончил настройку маршрутов веб-сервиса в соответствии с документацией Apple и могу подписывать и предоставлять пропуска. К сожалению, столкнулся со следующей проблемой. Когда я определяю webServiceUrl как "https://localhost:5000/wallet/", подписание прохода работает как положено. Затем я использую пропуск в симуляторе iOS, где я включил «Разрешить службы Http» в настройках разработчика, но я все еще получаю сообщение об ошибке «Произошла ошибка SSL, и безопасное подключение к серверу невозможно». Попытка использовать http вместо https непосредственно в определении webServiceUrl в файле pass.json приводит к ошибке подписи. Знаете ли вы, какие шаги необходимо выполнить, чтобы иметь возможность тестировать обновления прохождения локально?


person koufa    schedule 09.01.2020    source источник


Ответы (1)


Предупреждение говорит вам все, что вам нужно знать.

Измените свой webServiceUrl на http://localhost:5000/wallet/. Вариант разработчика означает, что вам не нужно использовать https, и пропуск должен по-прежнему устанавливаться на любом устройстве с установленным параметром «Разрешить службы Http».

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