2016-02-25 14 views
5

これは奇妙な質問かもしれませんが、本当に私を混乱させています。 iOsでプッシュ通知用の開発SSL証明書とプロダクションSSL証明書を作成する必要があるのはなぜですか?開発証明書とプロダクション証明書の違いは何ですか?iOsの開発と運用のSSL証明書の違いは?

プッシュ通知(自己ホスト型のParse Serverによって処理されます)を使用してiOsアプリケーションを開発しています。開発環境から本番環境(運用証明書付き)に自分の環境を切り替えると、プッシュ通知はもう受信されません私のデバイス。このアプリをアプリストアにアップロードすると動作しますか(それから本番版になります)。または、アプリストアで公開されたアプリがアプリで正しく動作するよう、プロダクション環境を「テスト」することはできますか?

ありがとうございます!

+1

あなたがテストのために[TestFlightベータ](https://developer.apple.com/testflight/)を検討していますか? – Mats

+0

開発では通知機能をデバッグできますが、生産機能はデバッグできません。 – Alok

+0

この[回答](http://stackoverflow.com/questions/24044298/why-push-notifications-is-not-working-on-testflight)を確認してください。 – milkersarac

答えて

10

Appleは、プッシュ通知をアプリの開発バージョンとアプリストアバージョンに送信するために、異なるサーバーを使用しています。開発版はSandboxと呼ばれています。 iOSは、その開発バージョンか本番バージョンかに応じて、プッシュサーバーへの永続的な接続を維持します。あなたのアプリが署名された証明書(DevまたはApp Store/Ad Hoc)に基づいて、それぞれのプッシュサーバーへの永続的な接続が作成されます。 2つのサーバーが異なるため、サーバーとの安全な接続を確立するために異なるSSL証明書が必要になります。詳細は参照してください

https://developer.apple.com/library/ios/technotes/tn2265/_index.html

0

アプリでプッシュ通知をテストする場合は、この目的のために簡単にデバッグモードをチェックする必要があります。開発SSL証明書が必要です。その時間にApp Storeにアプリをアップロードした場合は、プロダクションSSL証明書を追加する必要があります(ライブアプリのプッシュ通知の目的で、プロダクションSSlを追加します)。