概要
TestFlight Beta Testingの内部テスト時に、PUSH通知を利用するには、**Production用の証明書(Certificate)**が必要です。
Development用の証明書のみでは、PUSHが届きません。
Production用証明書の設定方法
- Certificate Listを開く
- 右上の「+」をクリック
- Productionの「Apple Push Notification service SSL (Production)」を選択してContinue
- 流れに従うと証明書が発行される
- できた証明書をPUSHサーバーで利用する。今回はParse.comを利用していたので、作ったProduction用の証明書から.p12ファイルを作成し、Parseにアップロードしました。
(ParseでのPUSHの使い方はParseの公式ドキュメントを参照してください。)
補足
- Production用の証明書が作成されていない場合、iTunes connectへのアップロード後、以下のようなメールが届きます。
Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.
- これは推測ですが、TestFlight Beta Testingでは、内部テストであっても、Sandboxではなく、ProductionのPUSHの仕組みを利用しているためだと考えられます。