iOS 6.0 のパス アプリケーションにパスをプログラムで追加できますが、ドキュメント ディレクトリに .pkpass ファイルがある場合、またはサーバーから取得する場合があります。しかし、.pkpass ファイルを手動で生成する手順が記載されているすべての Apple ドキュメントを検索しました。
Xcodeを使用してプログラムで.pkpassファイルを作成することは可能ですか?
.pkpass ファイルは、複数のコンポーネントで構成されています。プログラムで行う必要がある最も難しいコンポーネントは、マニフェスト ファイルの署名です。他の部分は、iPhone プラットフォーム上でプログラムによって簡単に組み立てることができます。Apple のドキュメントでは、シェル コマンドを使用して、OpenSSL ライブラリを使用してこの値を計算していることに注意してください。OpenSSL C ライブラリを使用してマニフェスト ファイルに署名する関数を手動で作成する必要がありましたが、例がなく、ライブラリが複雑であるため、簡単ではありません。Apple がマニフェスト用に選択した署名機能は、CommonCrypto フレームワークには存在しません。
また、電話でこれらのパスに署名するには、資格情報がバイナリのバンドルまたはコンパイルされたアセットに存在する必要があります。これは、プロファイルの整合性と署名 ID を保護したい場合、配布するのはおそらく良い考えではありません。
要約すると、これは確かに可能であり、既存の仕様とライブラリを使用して実行可能です。ただし、電話でこれを行うことはお勧めしません。これはかなり難しく、適切に行わないとセキュリティ リスクが発生する可能性があります。さらに、バイナリに OpenSSL ライブラリを組み込む場合は、デバイスに暗号化を組み込むことを Apple に報告し、政府に ERN を登録する必要があります。地域によっては、コードに他の輸出条件がある場合もあります (もちろん、私は弁護士ではないので、これは推測です)。