1

私はサイレント通知を使用しています。これは、電話が Xcode に接続され、Wifi を使用し、application:didReceiveRemoteNotification:fetchCompletionHandler:メソッドにブレークポイントがあり、アプリがバックグラウンドにあるときに完全に機能します。

私のサーバーは毎分サイレント通知を送信しています。ここに私のペイロードがあります:

{
    aps = 
    {
        "content-available" = 1;
    };
    "update-location" = 1;
}

しかし、携帯電話から WIFI を無効にすると、受信しなくなります (3g は通常どおり動作しています)。

Xcodeに接続していないときも同じ動作をしました。

誰かがアイデアを持っているか、すでに解決していますか?

4

3 に答える 3

2

解決策 : サイレント通知コンテンツにサウンド キーを追加します。

于 2013-10-29T11:05:23.723 に答える
1

あなたのケースには2つのポイントがあると思いますが、

  1. APNS はデバイスあたり 1 つのメッセージのみをキャッシュします (デバイスがオフラインの場合)。そのため、デバイスがオンラインになったときにメッセージを配信できます。ただし、メッセージがキャッシュされている期間はわかりません。

  2. APNS は Apple サーバーに基づいており、Apple はメッセージ配信の成功を保証しません。

Apple Docs では、100% 保証されているわけではなく、そのように使用されるべきではないことが明確に示されています。

于 2013-10-29T08:19:54.257 に答える