0

プッシュ通知フィードバック サービスをテストする方法が必要です。通知を正常に送信できます。

XCodeを使用して開発用IPodにアプリをインストールし、プッシュ通知を問題なく送信し、アプリはそれらを正常に受信しました。

アプリをアンインストールし、いくつかのプッシュ通知を送信しました。その後、フィードバック サービスを試してみましたが、うまくいきませんでした。ストリームからバイトが返されません。

1日まで待ってみました。別のiPhoneで同じことを試しましたが、何もしませんでした。コードは問題ないと確信しており、URL やポートなどを再確認しましたが、すべて問題ありません。同じ設定 (url とポートを除く) を使用するだけでなく、プッシュを問題なく送信できます。

だから私は今何をすべきかわからない。Web で検索しましたが、有用なものは見つかりませんでした。誰かが私がすでに試したことを正確に提案しました(プッシュを送信 -> アンインストール -> プッシュを送信 -> フィードバックを聞く)。

何か案は?ライブにプッシュする前に、問題がないことを確認する方法はありますか?

以下はコードです(C#):

using (TcpClient client = new TcpClient())
        {
            client.Connect("feedback.sandbox.push.apple.com", 2196);
            using (NetworkStream networkStream = client.GetStream())
            {
                Console.Out.WriteLine("Client Connected");
                X509Certificate cert = new X509Certificate(fileLocation, password);
                X509CertificateCollection certCollection = new X509CertificateCollection(new X509Certificate[1] { cert });
                SslStream ssl = new SslStream(client.GetStream(), true, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);                    
                try
                {
                    int bytesRead;
                    byte[] b = new byte[38];
                    ssl.AuthenticateAsClient("feedback.sandbox.push.apple.com", certCollection, SslProtocols.Default, false);
                    do
                    {
                        bytesRead = ssl.Read(b, 0, b.Length);
                    }
                    while (bytesRead != 0);
                    ssl.Close();
                }
                catch (AuthenticationException e)
                {
                    Console.WriteLine("Exception: {0}", e.Message);
                    return;

                }
            }
        }
4

2 に答える 2

0

デバイスには、少なくとも 1 つのプッシュ アプリケーションがインストールされている必要があります。アプリケーションをアンインストールし、デバイスにプッシュ アプリがない場合、デバイスはバッテリーを節約するためにプッシュに接続しません。

于 2010-07-29T19:56:23.850 に答える
0

Apple のドキュメントを参照してください: デバイスで最後のプッシュ対応アプリケーションを削除すると、アプリケーションの削除が Apple サーバーに通知されないため、デバイスがフィードバック サーバーに表示されることはありません。

これを回避するには、テストしていたアプリを削除する前に、開発モードでプッシュ通知に登録するダミー アプリを作成する必要があります。

于 2012-02-08T16:37:27.917 に答える