мы можем создать проход (файл .pkpass) программно в XCode?

Хотя мы можем добавить передачу в приложение pass в iOS 6.0 программно, учитывая, что у нас есть файл .pkpass в каталоге документов или мы получаем его с сервера. Но я искал всю документацию Apple, в которой приведены шаги для создания файла .pkpass вручную.

Это возможно для создания файла .pkpass программно с использованием Xcode. Пожалуйста, предложите.

Ответы на вопрос(1)

Решение Вопроса

нентом, который должен быть выполнен программно, является подпись файла манифеста. Остальные части тривиально собрать программно на платформе iPhone. Вы можете заметить, что в документации Apple используется команда оболочки для вычисления этого значения с использованием библиотеки OpenSSL. Мне пришлось вручную написать функцию, которая подписывала файлы манифеста с использованием библиотеки OpenSSL C, однако это не тривиально из-за отсутствия примеров и сложности библиотеки. Функция подписи, выбранная Apple для манифеста, отсутствует в их среде CommonCrypto.

Кроме того, чтобы подписать эти пропуски по телефону, учетные данные должны присутствовать в пакете двоичного файла или скомпилированных ресурсах, что, вероятно, не является хорошей идеей для распространения, если вы хотите защитить целостность своего профиля и подписать удостоверения личности.

Итак, в заключение: это, безусловно, возможно и выполнимо с использованием существующих спецификаций и библиотек. Однако я бы не рекомендовал делать это по телефону. Это довольно сложно и может привести к угрозе безопасности, если не будет сделано должным образом. Кроме того, если вы включили библиотеку OpenSSL в свой двоичный файл, то вы должны сообщить в Apple, что вы включили шифрование в свое устройство и должны зарегистрировать ERN в правительстве. В вашем коде могут быть и другие условия экспорта в зависимости от вашего местонахождения (но, конечно, я не юрист, так что это предположение).

 Ashutosh Bhatt12 окт. 2012 г., 06:51
Спасибо, Рикард. Это очень поможет
 OC Rickard12 окт. 2012 г., 18:50
Нет проблем. Рад помочь.

Ваш ответ на вопрос