私のiPhoneアプリには、オンラインモードとオフラインモードの2つのモードがあります。ユーザーがアプリをオンライン モードで使用している場合、リクエストはすぐにサーバーに送信されます。ユーザーがアプリをオフライン モードで使用している場合、要求をローカルに保存して、インターネットが利用可能になったときにアップロードできるようにします。到達可能性クラスを使用して、インターネットの可用性を確認しています。到達可能性はアプリで正常に機能しています。次のシナリオを達成できません。ユーザーがオフラインモードで作業しているため、リクエストを保存しました。つまり、ユーザーはiPhoneのホームボタンをクリックしてアプリケーションをバックグラウンドでプッシュします。しばらくすると、ユーザーは自分のデバイスで Wi-Fi またはセルラー接続を有効にします。ユーザーがインターネット接続を有効にすると、バックグラウンドにあるアプリに通知が送信され、サーバーへのリクエストの送信が開始されます。この機能を実現するにはどうすればよいですか? 多くの iOS アプリで、この要件が同じである可能性があります。彼らはどのようにそれをやっていますか?何か案が?
これを達成するために次の手順を試みましたが、成功しませんでした。ここで間違っていることを教えてください。
1) applicationDidEnterBackground デリゲート メソッド内に kReachabilityChangedNotification のオブザーバーを追加しました。しかし、この方法では、私のアプリは Kreachabiliychaged 通知をリッスンできません。
2) applicationdidbecomeActive 内に kReachabilityChangedNotification のオブザーバーを追加すると、アプリは Kreachabiliychagednotification をリッスンできます。
アプリがバックグラウンドにあるときに IOS が Kreachabiliychagednotification をリッスンできないのはなぜですか?