開発証明書とgateway.sandbox.push.apple.comを使用して、プロビジョニングされたデバイスに通知を送信することに問題はありませんでした。しかし、アプリがストアにあるので、証明書を作成したマシンを使用している場合でも、本番のapnサーバー(gateway.push.apple.com)に接続してプッシュを送信することさえできないようです。そもそも。
これをPushMeBabyで実行しましたが、gateway.push.apple.comへの接続が拒否されているようです。ハンドシェイク(SSLHandshake(context))を実行すると、結果はエラーコード-9044、またはerrSSLConnectionRefusedになります-ピアは応答する前に接続をドロップしました。
私はsslと暗号化について十分に知っているので、私は何も知らないことを知っていますが、問題は私たちの本番SSL証明書である(またはそれから始まる)と確信しています。プッシュ通知は、iPhoneポータルでの本番用に有効になっています(青信号があります)。証明書はPushMeBabyを実行しているマシンにインストールされており、キーチェーンに証明書と署名キーの両方が表示されます。開発プッシュ証明書をエクスポートしてPushMeBabyで使用したところ、問題なく接続(およびプッシュ送信)できました。しかし、生産証明書では、私たちはどこにも行きません。2台の別々のコンピューターでdevcertとprodcertの両方を繰り返し取り消して再作成したため、これが人為的エラーである場合は、繰り返し実行しています。
要因の1つは、キーチェーンに「チームエージェント」キーがあることですが、私は彼女ではありません。バイナリを問題なくAppStoreに送信できます。
また、本番証明書の作成後にプロビジョニングプロファイルを設定していません。それが要因かどうかはわかりませんが、店内アプリの場合はどうなるかわかりません。
私は彼らの外にいるので、誰かがいくつかのアイデアを持っていることを願っています!