2016-03-22 6 views
0

iOS:バッテリ寿命を節約しながら、あらかじめ定義された時間内に位置追跡を使用する方法は?iOS:バッテリ寿命を節約しながら、あらかじめ定義された時間内に位置追跡を使用する方法

事前定義された期間(バックグラウンドまたはフォアグラウンドのアプリであれば問題ありません)に位置追跡を有効にする必要があります。また、バッテリ寿命に影響を与えすぎないようにする必要がありますか?

PS: 重要な変更を追跡しながらバックグラウンドで実行している場所は、10分後の位置と合理的な距離を渡したときのみになりますので、スーツはありません。 3倍になると、ある時点近くでユーザーの動きを捕まえることができなくなります。実行中の場所がより頻繁にあると、6時間に40%までバッテリーが消耗します...

答えて

0

私は最近、非常に徹底的にiOSのすべてのバックグラウンドモードを調査しました。

ロケーションバックグラウンドモードを使用せずに行うことができる決定的な方法は、silent pushesです。

ユーザーにサイレントプッシュを送信し、ユーザーが場所を返します。

background fetchを使用することもできます。しかし、それは非常に非決定的です。実際にあなたのアプリを目覚めさせるかどうかは予測できません。

EDIT:

これはapp that was forcefully terminatedを覚ますしないことに、注意してください。

ただし、ユーザ が強制終了した場合、システムは自動的にアプリを起動しません。その状況では、ユーザーが のアプリを再起動するか、システムが自動的にアプリを起動しようとする前に デバイスを再起動する必要があります。

+0

こんにちは、ありがとう。それは良い解決策のように聞こえる!やってみます!しかし、以前にユーザーによって殺された場合、アプリを起動するのだろうか?とにかく私はそれを確認します。現在、バックグラウンドロケーションモードと実行中のバックグラウンドタスクの組み合わせを使用しています。バックグラウンドタスクは、数分後に位置更新を実行し、数秒後に終了します...これは、一定のトラッキング位置でうまく動作し、1日のうち約30% –

+0

編集を見て –

+0

こんにちはMichal!ありがとう!それは私のために働いています。さらに、私はバックグラウンドタスクの実行とバックグラウンドの場所やその他のバックグラウンドモードを起動し、必要なバックグラウンドでタスクを実行することができました...だから、iosデバイスのWebサーバーのバックグラウンド更新から始めて、サーバーへの位置情報を取得し、自分のサーバーからiosデバイス上の場所の更新を停止します。すべてがWebサーバーから管理されています。もう一度ありがとう –

関連する問題