平成30/ 2018-10-23 19:47
iOS/ PUSH/ 送信

Certificates, Identifiers & Profiles >> Identifies >> App IDs
で[Push Notifications]が利用できる[Certificate]を取得する。
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
------------------
[ Registering an App ID ]ページにて
App ID Description:simizBiz App       // 適当
(App ID Suffex)
Explicit App ID:選択する           // [ Wildcard App ID ]だと[ Push Notifications ]が選択できなくなる
      Bundle ID:biz.simiz.simizBiz // 一意になるもの

登録すると
[ App IDs ]画面でリストに表示されるので選択する
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

[ Development ]の[ Push Notifications ]が[ Enabled ]になっていることを確認し
[ Edit ]
を実行する。

[ Development SSL Certificate ]をDownloadで
CertificateSigningRequest.certSigningRequest
が取得できる。
------------------

------------------
移動 >> ユーティリティ >> キーチェーンアクセス >> 証明書アシスタント >> 認証局に証明書を要求
「ユーザのメールアドレス」は、ios deveroper programに登録のメールアドレスを入力する。
「通称」は任意のものを入力。
「CAのメールアドレス」は省略してもいい。
「ディスクに保存」し、
「鍵ペア情報を指定」にチェックをいれる。

Upload CSR file で上記の
CertificateSigningRequest.certSigningRequest
をアップロードする。

証明書がダウンロードで
aps_development.cer
がダウンロードできる。
これをダブルクリックしキーチェーンに登録する。

上記はキーチェーンアクセスで確認でき、
クリックすると証明書と鍵の2ファイルが確認できる。
この2ファイルを選択し、「2個を書き出す」を実行する。
フォーマット「個人情報交換(.p12)」が選択されていることを確認し「保存」する。
その際、パスワード要求されるので適当なものを入力する。

「ターミナル」を起動し以下を実行する。
$ openssl pkcs12 -in 証明書.p12 -out ios_apns_dev.pem -nodes -clcerts
Enter Import Password:XXXXX <--- 先ほどp12ファイル作成で設定したパスワードを入力
MAC Verified OK

ios_apns_dev.pemが作成されればOK.
------------------

[ Provisioning Profiles ]を選択する
https://developer.apple.com/account/ios/profile/profileList.action
--------
[ App ID ]を選択する。
[ Device ]を選択する。(事前に登録しとく)
[ Profile Name ]を入力する。
これで登録すると[ Provisioning Profile ]がダウンロードできるようになるが、ダウンロードしなくても
XCodeのOrganizerをリロードすると表示される。
このOrganizerで[ Provisioning Profile ]をIPHONEの実機にセットする。

XCodeのPROJECTのCombinedのCode SigningのCode Signing Identityの全てに上記のProvisioning Profileをセットする。
XCodeのTARGETSのCombinedのCode SigningのCode Signing Identityの全てに上記のProvisioning Profileをセットする。
上記2つのCombinedの内容がApp IDsで登録した「 Bundle ID」と差異が無いように調整する。
--------

上記で証明書の設定は完了。

ios_apns_dev.pem はPUSH通信の内容を送信するときにセットするものでブラウザからアクセスできる場所に置けばいいとのこと。


このエラーなんだろう?
PHP Warning:  stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14094416:SSL routines:func(148):reason(1046) in /home/gakusei-walker.jp/www/app/webroot/app/ios_push.php on line 53
PHP Warning:  stream_socket_client(): Failed to enable crypto in /home/gakusei-walker.jp/www/app/webroot/app/ios_push.php on line 53
PHP Warning:  stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /home/gakusei-walker.jp/www/app/webroot/app/ios_push.php on line 53


Thanks.
--------
felloのiOS用サンプルアプリでプッシュ通知を受信するまでの手順
http://blog.takezou.com/archives/848

iOS で Push 通知の実装方法
http://ohwhsmm7.blog28.fc2.com/blog-entry-345.html