私はしばらくの間これに取り組んできました。そこにはたくさんの記事があることを知っており、そのすべてについて多くのことを学びました.
開発用 SSL と本番用 SSL を同じ方法で作成しました。開発は ssl://gateway.sandbox.push.apple.com:2195 に接続します 本番は ssl://gateway.push.apple.com:2195 に接続します 接続は正常に機能しているようです。
アプリに関しては。開発: xCode からデバイスで直接実行すると、開発バージョンが実行されます。アプリは開発トークンをデータベースに正常に記録します。次に、プッシュ通知を送信するサービスを実行すると、正しく配信されます。メッセージは正常に配信されました。
アドホック: アーカイブを作成してアドホック配布用にエクスポートするとき、パッケージの内容codesign -dvvvv --entitlements - Elepago.app
を再確認し、aps-environment が正しく運用環境に設定されていることを確認します。それをパッケージ化して、iTunes 経由でデバイスにロードします。アプリが起動すると、データベースに記録された新しい運用トークンが表示されます。したがって、環境を正しく設定する必要があります。プッシュ通知を本番キーに送信すると (開発と同じで、SSL .pem キーとサーバーを変更するだけです)、正常に配信されたと表示されます。しかし、実際にデバイスに到達することはありません!!!
この問題は私を夢中にさせています。配布証明書を一掃し、完全に新しいCSRを使用して再構築しました。また、その新しい証明書を使用するようにすべてのプロビジョニング プロファイルを更新しました。[私がすでにチェックしている aps-environment 以外の、これらの証明書がアプリにどのように結び付くかについてのアイデア。]
どんな洞察も大歓迎です。