5

私はこれに対する答えを探していましたが、見つけられないようです。アプリの複数のフレーバーに PUSH 通知を送信します。以前に、各証明書をループしてユーザーのアプリの種類と照合するようにこれを設定しました。事実上、証明書ごとに新しい SSL 接続を作成し、その特定の証明書に関する通知を送信します。

これらの証明書をすべて変換し、有効期限が切れたときにインストールするのは少し面倒です。KeyChain アクセスから複数の証明書を単一の p12 ファイルとしてエクスポートし、それを変換して、証明書管理の観点から物事をよりシンプルに保つことができます。問題は、PUSH 通知がまったく受信されていないことです。APNS に正常に接続でき、フィードバック サービスから問題は報告されていませんが、何も機能していないようです。これにより、APNS はファイル内の最初の証明書のみを検証し、他の証明書は無視して接続を成功させるが、通知の配信を妨げる可能性があると私は信じています。この場合、接続が切断されるか、フィードバック サービスで何かが報告されると予想されますが、これまでのところ、どちらも見たことがありません。

これを成功させるための洞察を持っている人はいますか? ありがとうございました。

4

1 に答える 1

3

繰り返しますが、複数の証明書が単一のコンテナー/コレクション/その他にパッケージ化されており、それを使用して APNS との相互認証 SLL セッションを確立しています。次に、いずれかの証明書に関連付けられた 1 つ以上のデバイスの要求を送信しますが、機能しません。それは正確ですか?

もしそうなら、問題の要約は正しいと思います。イベントのシーケンスは、SSL セッションの確立中に証明書が評価されることです。これはネットワーク プロトコルの一部であり、その時点で APNS サーバーは使用する証明書を選択する必要があります次に、リクエストを送信すると、「アプリケーション サーバー」は、デバイス トークンに証明書と同じアカウント情報が含まれていることのみを検証します。あなたのシナリオは自明ではなく、Apple がそれをサポートするために明示的に投資しない限り、それが機能する可能性はありません。その場合、開発者向けドキュメントで言及されることを期待していたでしょう。そうではありません。

その場合、フィードバック サービスにも何も表示されません。これは、証明書内のアカウントに関連付けられているデバイスに対してのみフィードバックが収集/送信されるためです。

ところで、APNS プロトコルの拡張形式を使用している場合は、送信中にエラー応答を読み取ることができます。詳細については、プログラミング ガイドを参照してください。

于 2012-12-08T21:47:09.177 に答える