2017-04-18 8 views
0

重要な場所変更の監視を使用して、アプリケーションが実行されていないときのユーザーの所在を知る。このデータは携帯電話の塔信号に基づいているため、あまり正確ではありません。可能であれば、つまりアプリがアクティブであるかバックグラウンドで実行されている場合は、より正確なデータを使用したいと考えています。アプリケーション状態に基づいた重要な場所の変更の監視と場所の更新の監視の切り替え

「startMonitoringSignificantLocationChanges」と「startUpdatingLocation」を同時に使用する必要がありますか、その2つの方法を切り替える必要がありますか? 2番目のオプションが優れている場合は、必要な切り替えを実行するためにどのようなアプリケーションデリゲートイベントを使用する必要がありますか?

答えて

3

連続した高精度の位置情報ストリームを必要とする機能をサポートしない場合は、常に高精度GPSデータをstartUpdatingLocation経由で使用しないようにしてください。

私はあなたの質問から、アプリケーションが起動したときに、特定のポイントでのみより正確な場所を使用することを理解しています。その場合、より正確な位置データを必要な時にのみスイッチオンする第2のアプローチは、より良い考えである。

locationManager(_:didUpdateLocations:)あなたのCLLocationManager代理人の場合は、この場合を開始するのがよいでしょう。重要なロケーション変更監視APIは、明示的に停止するまで、場所の変更がなくても15分に1回はシステムを起動させることに注意してください。したがって、注意して使用する必要があります。

携帯電話のバッテリーをすべて使い切っていないことを確認しながら、正確な位置追跡を計器化することは、解決しなければならない問題ではありません。これに特化したHypertrackのようなサードパーティのSDKを試してみることをお勧めします。

関連する問題