Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
32
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

iOSプッシュ通知について

●証明書1つめ
1.iOS provisioning Center→APPIdsにいく
2.自分のアプリをクリック
3.キーチェーンで「キーチェーンアクセス」→証明書アシスタント→認証局に証明書を要求
4.【重要】上と下にiOS Dev Centerで登録しているメアドを登録→リクエストを作る
5.iOS DevCenter上でCreate→さっきのリクエストを選択→ダウンロード
6.キーチェーンに「システム」で入れる
7.鍵を開いて自分の名前が出てきたら右クリックして書き出し(p12で)
8.sample.p12を作ったとしたらopenssl pkcs12 -in sample.p12 -out sample.pem -nodes -clcerts でsample.pemを作る
9.サーバー上にアップロードで終了

●証明書2つめ
1.以下のURLからダウンロード
sandbox(開発環境用)
https://www.entrust.net/downloads/binary/entrust_2048_ca.cer
本番用
https://www.entrust.net/downloads/binary/entrust_ssl_ca.cer
2.キーチェーンアクセスを起動して、左上のメニューは”システムルート”を左下は証明書を選んでダウンロードした証明書をダブルクリック
3.Entrust Root Certification Authorityを選んで書きだす。.pemで作成する。
(entrust.pemとして保存)

●APNsPHP(PHPでプッシュ通知が送れるというもの)
サンプルの一部を変更
$push = new ApnsPHP_Push(
ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION, //※
'sample.pem' //1つめの証明書
);

※本番用はENVIRONMENT_PRODUCTION、開発用はENVIRONMENT_SANDBOXとする

$push->setRootCertificationAuthority('entrust.pem'); //2つめの証明書

$push->setProviderCertificatePassphrase('password'); //pemをつくるときに指定したパスワード

$message = new ApnsPHP_Message("xxxxxx"); //デバイストークンを指定

●基本的な流れ
iPhoneからデバイストークンを取得→自分のサーバーに保存→phpを実行(アクセス)してプッシュ

●注意点
・Certificateを登録しているPCでやらなければいけない
・開発用、本番用で2つ必要(違うとエラーになる)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
32
Help us understand the problem. What are the problem?