Нужен ли мне сервер для создания статической Passbook, почему бы не сделать это локально в приложении?
Я пишу серверную часть реализации Passbook. "Карточка" Passbook будет статичной и не изменится. Мне действительно нужно использовать сервер для компиляции pkpass
файл?
Причина, по которой я спрашиваю, заключается в том, что в примере проекта у Apple есть код Objective-C для создания и подписания Passbook. Если я собираюсь использовать только статическую карту, которая не будет обновляться, то не вижу смысла компилировать pkpass
на сервере, когда я могу сделать это локально в приложении.
1 ответ
Если проход действительно статичен, то есть он не содержит webServiceURL
или же authenticationToken
ключи и не содержит переменных данных, предоставленных пользователем, то вам не требуется сервер.
Вам все еще нужно создать и подписать проход, но это можно сделать с помощью инструмента командной строки, предоставляемого Apple.
Получив комплект.pkpass, вы можете добавить подписанный комплект.pkpass в комплект приложения или опубликовать его на веб-сервере или CDN (например, Amazon S3). Чтобы добавить его в Passbook пользователей из вашего приложения, извлеките его из пакета приложения или внешнего URL-адреса, а затем передайте его PKAddPassesViewController
,
Лично я бы предпочел опубликовать пакет.pkpass где-нибудь в Интернете, потому что это позволит вам изменить проход без повторной отправки приложения.
Компиляция.pkpass из приложения - очень плохая идея. Возможно, ваше приложение не одобрено, потому что для подписки из вашего приложения вам нужно встроить свой закрытый ключ Pass Type ID в комплект вашего приложения.
Если вам нужно включить уникальную информацию о пользователях в проход, это почти наверняка потребует от вас создания сервера или использования поставщика услуг, поскольку каждый проход все равно необходимо будет создавать и подписывать на заказ.