はじめに
「アプリからWalletの特定のPassを表示する」ということがあったので、
その手順をまとめます。
アプリからといってもURLSchemeでWalletを開くだけですが...
アプリからWalletのPass一覧を取得する
まずはWalletからPass一覧を取得します。
Wallet Developer Guideには以下のように書いてあります。
PKPassLibraryクラスのpassesメソッドで、アプリケーションがアクセス可能なパスをすべて取得できます。
アプリーケーションがアクセス可能なパスとは、Pass Type IDsがアプリとPassで一致しているものになります。
Pass Type IDsはentitlementsファイルに記述します。
debugとReleaseでPassを分けている場合はentitlementsファイルをそれぞれの環境に合わせたものを作成する必要があります。
ビルド毎のentitlementsファイルの設定はTARGETS→Build Settings→Code Signing Entitlementsで確認できます。
Pass Type IDsを一致させたらGuideに従ってPKPassLibraryクラスのpassesメソッドでPassの一覧が取得できます。
アプリからWalletの特定のPassを開く
Passの一覧が取得できたら後は簡単です。
PKPassクラスのpassURLで取得したURLをURLSchemeで呼び出します。
Walletが立ち上がり、指定したPassが表示することができます。