私のコア ロケーション コードは正常に動作しており、すべてのデリゲートが正常に動作しており、マップビューで正確な位置を表示できます。今、私はこのアプリケーションをバックグラウンドで実行し続けたいと思っています。インターネットで検索したところ、バックグラウンドで動作することが許可されているサービスはほとんどなく、他のサービスは数分で停止することがわかりました。これらのサービスを有効にするためにフラグを設定し、uibackgroundmode = location
コア ロケーションのデリゲートも機能していますが、20 分実行した後にアプリケーションが中断するのはなぜですか?
質問する
76 次
1 に答える
0
これが機能しない理由はいくつかあります。まず、この質問の答えを試してください:
- ロケーションのバックグラウンド モードを指定する
- UIApplication:beginBackgroundTaskWithExpirationHandler を使用して、バックグラウンドで NSTimer を使用します。
- n が UIApplication:backgroundTimeRemaining より小さい場合は問題なく動作します。n が大きい場合は、バックグラウンド タスクが強制終了されるのを避けるために、残り時間がなくなる前にロケーション マネージャーを再度有効 (および無効) にする必要があります。location は許可されている 3 つのタイプのバックグラウンド実行の 1 つであるため、これは機能します。
于 2013-04-16T11:22:33.530 に答える