-2
バックグラウンドの場所とフェッチモードが有効なアプリがあります。 ユーザーの場所を取得し、サーバーに送信し、結果を読み取り(JSON)、ローカル通知を送信します。 このプロセスは、iPhone 4Sで15秒、60秒、180秒ごとにテストされています。iOSアプリがバックグラウンドで実行中にフリーズする
ここで問題が発生します。
アプリがバックグラウンドで実行されると、約3分後にフリーズし、サーバーとの通信を停止します。私はXcodeから、デバッグナビゲータでそれがわかります。メモリは割り当てられていますが、CPUとエネルギーへの影響はゼロです。 この問題は、Youtubeのような重いアプリを開くことを繰り返すことができます:この場合、アプリは数秒後にフリーズします。 ほとんどの場合、iOS自体がアプリをフリーズします。 私の質問です:このフリーズを防ぐか、または再開せずにアプリの解凍を行う方法はありますか?
を確認することができますあなたの場所マネージャ
の
セットsetAllowsBackgroundLocationUpdatesプロパティこのコードを使用するあなたはすでに、位置更新バックグラウンドモードを選択していますアプリは「アンフリーズ」され、ユーザーが自分の位置を変更すると次のようになります:)場所の代理人は、距離fあなたが指定したilter :)ロケーション更新デリゲートでは、NSURLSessionとセッションマネージャを使用してサーバと通信できます。あなたのアプリケーションの頻繁な呼び出しを必要とする場合は、最も正確なフィルタに距離を設定します。場所を使用することは、あなたのアプリがユーザーのバッテリーを消耗させる可能性があることを常に忘れています:) –