ちょっと厨二っぽいSEのブログ

プログラミングとかのシステム備忘録など

【究極にざっくり】iOSでpush通知する方法【超概要】

iOSで、APNS(Apple Push Notification Service)を利用したリモートプッシュ通知を実装する場合、必要なファイルが多くて混乱します。

そこで、すごくざっくりと必要なファイルとその手順をまとめました。
詳しい内容は他のサイトをご参考ください。



◆サーバー側で必要なもの

phpで書きますが、以下のものが必要です

ルート証明書
Apple DevelopersからダウンロードしたAPP Idsの証明書を、 .pem に変換したものです

1.登録したApp IDsから、 .cer ファイルをダウンロードします
2.その後、キーチェーンアクセスより .p12 形式で書き出し
3.さらに、コマンドラインのopensslコマンドにより、 .pem 形式に変換します

開発用と製品用があります、これがちぐはぐになると正しく動作しませんので注意しましょう。


プロバイダ証明書
Entrust.netというサイトから取得した証明書を、 .pemに変換したものです

1.entrust.net から entrust_2048_ca.cer をダウンロード
2.それを、キーチェーンアクセスを使用して、今度は .pem で書き出します
ルート証明書の時と違い、コマンドラインは使用しません
>>参考:
iOSでプッシュ通知を実装する方法の超詳細まとめ(後編) | Lancork



Device Token
端末を識別するIDです。端末(アプリ)側から送信して取得します


使用するライブラリ
apns-php というライブラリを使用すると良いと思います



◆アプリ側で必要なもの

実はpush通知特有なものはありません

プロビジョニングプロファイル
通常通り作成します
APP IDを登録する時、push通知の機能をONにしておく必要があります


ソースコード
以下は、push通知の動作確認に最低限必要な、Swiftのコードです
(push通知の許可設定、デバイストークンの取得)
iOS8以上と未満でコードが少し違いますが、以下のコードはその両方に対応したものになります。


gist.github.com