これからApns-phpを使用したiPhoneのPush通知実装方法を何回かに分けて、初めてPush通知を実装する!って人でもすぐ実装できるのを目標に詳しく解説していきます。

自分自身Push通知を実装するときは、どこのブログとかを見ても中途半端にしか書かれていなく、途中でとまったりしました。。。。。

テスト環境だけ詳しく解説されていて、本番環境の解説は1行でまとめられていて全然わからなかったり。。。

証明書関係は特にややこしいです(´・ω・`)

なので、気持ち的にはこのブログを見ただけで(Apns-php限定ですが)とりあえずPush通知の実装はできるようなるってのが目標です。

Push通知を書くにあたって参考にしたサイトは、

phpでiphoneのpush通知&APNS鍵作成:http://takalife.com/blog/tech/247/
Push Notification の実装方法:http://iphone.longearth.net/2009/09/01/%E3%80%90iphone%E3%80%91push-notification%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95/
Apns-php公式:http://code.google.com/p/apns-php/

の3記事を参考にさせていただきました。

1回目の今回はPush通知に必要な証明書などのセットアップを行います。

まず始めに、Push通知を行うためのAPNS鍵の作成です。

1.iOS DeV Center にアクセスし、[iOS Developer Program]にある[iOS Provisioning Portal]をクリックします。




2.左側メニューにある[App IDs]を選択します。


3.今回使用するBundle Identifierは[test]を使用します。

これは、アプリを作成する時に設定するBundle Identifilerと一緒のものを使用します。








4.使用するAppIDの横のConfigureをクリックします。





5.[Enable for Apple Push Notification servise]にチェックがはいっていないので、チェックをいれ、今回はテスト環境なので[Development Push SSL Sertificate]を選択します。




6.ホップアップ画面がでてくるので、右下[Continue]をクリックすると、証明書提出画面がでます。





7.提出する証明書を作成します。

Macの[アプリケーション]→[ユーティリティ]にあるキーチェーンアクセス.appを起動します。

キーチェーアクセスのメニューバーの[証明書アシスタント]→[認証局に証明書を要求]をクリックします。




8.証明書アシスタントの[ユーザのメールアドレス]・[通称]にはAppleのDeveloper登録で使用したメールアドレスと名前を入力します。

要求の処理は[メールでCAに送信]が選択されていますが、ディスクに保存を選択してください。




9.これで作成した証明書を⑥ででてきたホップアップ画面にアップロードします。

10.作成がおわると証明書をダウントードできます。

この証明書は後で同じページでダウンロード可能です。




11.キーチェーンアクセス.appを起動します。

キーチェーンの左側メニューを[ログイン]・[証明書]を選択します。

そこにダウンロードした証明書をドラッグ&ドロップします。




12.証明書が表示されているので右クリックで["Apple Development iOS Push Services:○○" ]書き出します。

書き出すファイルは、⑪の画像の[Apple Development iOS Push Services:test](写真はtester.bkになってますがここは自分の選択したBundle Identifierになります。)です。

13.保存する名前はここでは[server_certificates_bundle_sandbox]とし、保存する形式は[p12]です。

*ここで保存形式にp12を選択できない場合はキーチェーンアクセスの左側メニューの選択がまちがっている可能性があります。[ログイン]・[証明書]になっているか確認してください。

パスワードは空のまま保存してください。

14.形式を変更するために[ターミナル.app]を起動します。

ターミナルで保存したディレクトリまで移動し、以下のコードを入力してください。

openssl pkcs12 -in server_certificates_bundle_sandbox.p12 -out server_certificates_bundle_sandbox.pem -nodes -clcerts




*保存した証明書の名前が違う場合はその名前を入力してください。




*ターミナルでのディレクトリ移動は、デスクトップに保存した場合

cd ~/Desktop/


で移動できます。





ここで、appleの証明書作成は終了です。

 次回はサーバ側証明書を作成していきます。