Appleウォレットに入れるパス(Passbook)の作成方法
Passbook Web サービス API のリファレンス実装です。
この文書は3つの主要なセクションに分かれています。
- パスの実装でセットアップする方法
- サンプルパスのゲートを変更する
- プッシュ通知の送信
このデモを稼働させるには、少しの外部リソースの手助けが必要になります。
パス用の証明書
WWDRのiOSプロビジョニングポータルで発行された証明書が必要になります。
この証明書をキーチェーンに追加した後、.p12ファイルとしてエクスポートし、data/Certificate/anythingYouWant.p12にコピーしてください。
あなたが選んだパスワードを覚えておいてください。後で必要になります。
また、WWDR中級証明書のPEMファイル形式でのコピーも必要です。
この証明書はあなたのキーチェーンで「Apple Worldwide Developer Relations Certification Authority」としてリストされています。
証明書を選択し、PEMとしてエクスポートし、lib/data/Certificateフォルダに入れます。
キーチェーンにこの証明書のコピーがない場合は、iOS開発者ポータルからコピーをダウンロードできます。
パス用のホスト名
サーバーとデバイスは同じネットワーク上にある必要があります。
サーバーの静的IP、ドメイン名、またはBonjour名が必要になります。
パス用のxCode
コンパイルには、XcodeとXcodeコマンドラインツールの両方が必要です。
XcodeはMac App Storeからダウンロードできます。
Rubyバージョン
このリファレンス実装は、次のバージョンのRubyでサポートされています。
- 1.8.7-p249
- 1.9.2-p290
- 1.9.3-p0
- 1.9.3-p125
Gems
このデモは、次の外部のGemsに依存します。
- sinatra
- rack
- sequel
- sqlite3
- yaml
- json
- sign_pass
- rubyzip
次のコマンドを使用してGemsをインストールします
$> sudo gem install sinatra sequel sqlite3 rubyzip rack yaml json terminal-table
次のコマンドを実行する前に、pass_serverディレクトリにいることを確認してください。
$> sudo gem install lib/sign_pass-1.0.0.gem
参照サーバーの設定
リファレンスサーバーのセットアップスクリプトは、リファレンスサーバーのセットアップをガイドします。
ホスト名とパスのpassTypeIdentifierを手元に置いてください。
スクリプトタイプを実行するには:
$> lib/pass_server_ctl -s
これにより、データベースファイル、必要なテーブルが作成され、サンプルパスエントリが生成されます。サンプルパスファイルに対応します。
サーバーを起動する
サーバーを起動するには、デモのルートフォルダ(代替ホストIP)の中から次のコマンドを実行します。
$> ラックアップ -p4567 -o
最初にパスをダウンロードする
パスは、デバイス上の次のURLから、またはコンピュータとデバイスへの電子メール(ホストIPを代用してください)。
このURLはAPIに準拠しておらず、不足していることに注意してくださいセキュリティと認証制御。
このURLは開発のみを目的としています。ユーザーのデータを保護します。
独自のパスを作成すると、データ/パス/フォルダに配置できます。
そして、http://:4567/.pkpassからダウンロードしました。次のコマンドを使用してください
データベースに新しいパスを追加します。
$> lib/pass_server_ctl -a serial_number,authentication_token,pass_type_id
サンプルパスのゲートを変更する
pass_server_ctlユーティリティを使用してゲートを変更し、署名されたパスの新しいコピーを生成します。
証明書のパスワードの入力を求められます。
$> lib/pass_server_ctl -g
プッシュ通知の送信
プッシュ通知スクリプトはlibディレクトリに含まれています。次のコマンドでスクリプトを実行し、プロンプトが表示されることに注意してください
証明書のパスワードのために。
$> lib/pass_server_ctl -n
これにより、データベースが使用され、データベース内のすべての登録についてデバイスにプッシュ通知が送信されます。
コメント