さまざまな店舗 (A 社、B 社、C 社など) のクーポン パスを配布するアプリを開発中です。パスはさまざまな店舗/会社向けであるため、各パスはアプリのロゴとロゴ テキストではなく、それぞれの店舗のロゴとロゴ テキストを使用するのが理想的です。
アプリで異なるロゴやロゴ テキストを含むパスを配布するにはどうすればよいですか?
また、アプリ経由で配布できるパスの数に制限はありますか?
前もって感謝します!
Passbook パスで使用されているロゴとテキストは、パスの署名に使用された Apple 提供の証明書、またはpassTypeIdentifier
Apple に登録された証明書とは関係ありません。異なる会社ごとに、異なるlogo.png
、icon.png
、logo@2x.png
などを使用してください。
ユーザーに表示されるクーポンの部分のみが、作成時にパスのコンテンツで指定されます。
ホワイト レーベルの T シャツの Web サイトの注文ステータスには単一の通帳タイプを使用し、製品が注文されたサイトに応じて適切なラベルのブランディングが挿入されます。
ローカリゼーションを使用することもできますが、これは機能のわずかな乱用になります。各企業は.lproj
、独自の文字列とイメージで異なるものを持つことができます。詳細については、PassKit プログラミング ガイド (「パスのローカライズ」セクション) を確認してください。
パスはアプリ内で生成するのではなく、サーバー上で生成してからアプリにダウンロードする必要があります (または Passbook に直接ダウンロードしてからアプリからアクセスします)。
これは、デバイスでパスを生成して署名するには、passTypeIdentifier 証明書とプライベートをアプリに埋め込む必要があり、セキュリティ上のリスクがあるためです。
このアプリは、サード パーティのパス作成サービスを使用してデバイスからパスを生成し、API を介して取得します。このサービスを使用すると、アプリが各証明書にアクセスする許可を与えていれば、理論的には、任意の数のパス証明書を使用して、任意の数のパスを設計および生成できます。
ユーザーのデバイスロケールが.lprojロケールと一致する場合にのみ.lprojコンテンツがパスのデフォルトをオーバーライドするため、@gidが示唆するローカリゼーションハックがどのように機能しないかわかりません。
免責事項: 私は PassKit を共同設立しましたが、デバイスからパスを生成して署名する必要がある (そして、それを実行できる例を示す) ことが、この回答で伝えたい主なポイントです。