2017-03-15 7 views
0

locationManagerを使用しているときにバッテリーの節約について質問があります。 http://tumblr.twicetwice.net/post/47249353501/cllocationmanager-battery-saving-tips-and-best そして、多くのstackoverflowの投稿で、私は、高精度も背景に、非常に頻繁に更新されます必要があるので、私は、startMonitoringSignificantLocationChanges()のようにこれらのヒントのほとんどを使用することはできません。 https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/LocationBestPractices.html そしてここに:私はここで探していました。さらに、バックグラウンドでタイマーを使用して10秒ごとなどの場所を取得することはできないことを知っています。今、私が特定の時間移動しないと、位置情報の更新を止めたいと思っています。そして私が再び動くと、私は再び更新を取得したい。 pausesLocationUpdatesAutomatically = trueを使用することはできません。ユーザーがアプリをフォアグラウンドに戻して場所を更新しないようにしたいからです。アプリがバックグラウンドにあるときにバッテリーの寿命を延ばす方法はありますか?また、特定の時間動かなければGPSをオフにし、加速度計がいくつかのステップを検出するとオンにするというアイデアがあるため、CoreMotionでサンプルを検索しました。しかし、これはバックグラウンドでも機能しないことを知っていますか、誰かがこれを稼働させる方法を知っていますか?アプリがバックグラウンドになっている間に移動したときに移動したり位置を更新したりしていないときに、場所の更新を停止するためのソリューションがありますか?私ができることを何か提案してくれたことに感謝します。locationManagerの背景のバッテリー寿命

Btw:私はSwiftでかなり新しくて、おそらく私が知らない非常に簡単な解決策があり、見つけられなかったかもしれません。

答えて

0

ここで特定の時間移動しないと、位置情報の更新を停止します。もう一度移動すると、更新を再度取得したいです。

訪問の監視について説明しているかもしれません。 - しかし、一般的に、高精度の場所を継続的に求めているのは電池が非常に高価です。それがデバイスが電源に繋がれていない限り、あなたはそれをするべきではありません。

+0

クイックアンサーに感謝します。私は特定の場所に数分滞​​在すればそれが起きることを知っているので、私はここで訪問の監視を使うことはできません。私は、ユーザーから200メートル以内の場所を示すtableViewを持っています。今私がその場所から50メートル離れていれば、プッシュ通知を受けたいと思う。これはすべて機能していますが、電池消費量が多いです。私は高精度の位置更新がバッテリーを消耗することを知っています。このため、ユーザーが移動していないときや、アプリがバックグラウンドにあるときにも、少しパワーを節約したいと考えています。これが可能かどうか知っていますか? – Marcel