Using the Visits Location Service
7297 ワード
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_visits_location_service
"Get location updates in the most power-efficient way, but less frequently than with other services."
ロケーション更新は最も効率的にインポートされますが、他のサービスに比べてインポートの頻度は低くなります.
オンサイト・レコード・サービスは、ロケーション・データを収集する最も効果的な方法です.このサービスを使用すると、位置更新は、ユーザーのアクティビティの価値が記録されている場合にのみ送信されます.各更新には、1つの場所とその場所にある時間が含まれます.このサービスは、ナビゲーションやその他のリアルタイムアクティビティには使用されませんが、ユーザーのモーションモードを識別し、アプリケーションの他の部分に適用できます.例えば、音楽アプリケーションは、ユーザが体育館に到着したときに体育館のプレイリストを準備することを可能にする.
Note
アクセス履歴の場所サービスには、権限が必要です.権限リクエストの処理方法については、ロケーション・サービスの「権限のリクエスト」を参照してください.
Requesting Authorization for Location Services
<>
履歴ロケーションサービスを開始するには、ロケーションマネージャの
もう1つの省エネ方法は、位置マネージャオブジェクトの
Note
ロケーションデータが不要になった場合は、ロケーションマネージャオブジェクトの
アクセス履歴ロケーションサービスが開始されると、最近キャッシュされた値が遅延ゲートウェイに通知されます.新しいアクセス履歴データをインポートすると、位置マネージャは、更新された値を遅延ゲートウェイの
Listing 1 Receiving visit updates
位置マネージャが位置更新を伝達できない場合、位置マネージャは遅延ゲートオブジェクトの
Listing 2 Stopping location services when authorization is denied
電力を節約することで位置更新を取得するが、標準位置サービスに比べて取得頻度は低い.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_significant-change_location_service
https://velog.io/@panther222128/Using-the-Significant-Change-Location-Service
特定のパラメータに基づいて定期的に位置更新を取得します.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_standard_location_service
https://velog.io/@panther222128/Using-the-Standard-Location-Service
バックグラウンド実行モードを使用して、アプリケーションに関連するイベントに応答します.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/handling_location_events_in_the_background
https://velog.io/@panther222128/Handling-Location-Events-in-the-Background
緯度/経度対とその位置のよりユーザーフレンドリーな説明の間で変換します.
https://developer.apple.com/documentation/corelocation/converting_between_coordinates_and_user-friendly_place_names
https://velog.io/@panther222128/Converting-Between-Coordinates-and-User-Friendly-Place-Names
地図に表示されるユーザ位置を逆符号化情報付きテキスト説明に変換します.
https://developer.apple.com/documentation/mapkit/mkmapview/converting_a_user_s_location_to_a_descriptive_placemark
https://velog.io/@panther222128/Converting-a-Users-Location-to-a-Descriptive-Placemark
"Get location updates in the most power-efficient way, but less frequently than with other services."
ロケーション更新は最も効率的にインポートされますが、他のサービスに比べてインポートの頻度は低くなります.
Overview
オンサイト・レコード・サービスは、ロケーション・データを収集する最も効果的な方法です.このサービスを使用すると、位置更新は、ユーザーのアクティビティの価値が記録されている場合にのみ送信されます.各更新には、1つの場所とその場所にある時間が含まれます.このサービスは、ナビゲーションやその他のリアルタイムアクティビティには使用されませんが、ユーザーのモーションモードを識別し、アプリケーションの他の部分に適用できます.例えば、音楽アプリケーションは、ユーザが体育館に到着したときに体育館のプレイリストを準備することを可能にする.
Note
アクセス履歴の場所サービスには、権限が必要です.権限リクエストの処理方法については、ロケーション・サービスの「権限のリクエスト」を参照してください.
Requesting Authorization for Location Services
<>
履歴ロケーションサービスを開始するには、ロケーションマネージャの
startMonitoringVisits()
を呼び出す必要があります.このサービスを使用すると、ロケーションマネージャは、自身のdistanceFilter
およびdesiredAccuracy
のプロパティを無視します.したがって、2つのプロパティを設定する必要はありません.位置マネージャは、更新を遅延ゲートウェイ方法locationManager(_:didVisit:)
に転送する.もう1つの省エネ方法は、位置マネージャオブジェクトの
pausesLocationUpdatesAutomatically
属性をtrue
に設定することである.このアトリビュートをオンにすると、ユーザが動かない可能性がある場合に位置ハードウェアを無効にすることで、消費電力を削減できます.更新を一時停止しても、更新の品質は低下しませんが、バッテリ持続時間は大幅に延長されます.位置マネージャのactivityType
プロパティに適切な値を指定して、システムがいつ更新を一時停止できるかを指定する必要があります.Note
ロケーションデータが不要になった場合は、ロケーションマネージャオブジェクトの
stopMonitoringVisits()
メソッドを常に呼び出す必要があります.位置更新を停止しない場合、システムはアプリケーションに位置データを転送し続け、ユーザーのバッテリーを消費します.Receiving Visit Updates
アクセス履歴ロケーションサービスが開始されると、最近キャッシュされた値が遅延ゲートウェイに通知されます.新しいアクセス履歴データをインポートすると、位置マネージャは、更新された値を遅延ゲートウェイの
locationManager(_:didVisit:)
メソッドとして呼び出します.Listing 1 Receiving visit updates
func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
// Do something with the visit.
}
Handling Location-Related Errors
位置マネージャが位置更新を伝達できない場合、位置マネージャは遅延ゲートオブジェクトの
locationManager(_:didFailWithError:)
メソッドを呼び出す.発生する可能性のあるすべてのエラーを処理するには、この遅延ゲートウェイメソッドを常に実装する必要があります.たとえば、アプリケーションがロケーション・サービスの使用を拒否した場合、このメソッドが呼び出されます.この場合、位置に関連する機能を無効にし、使用できない機能をユーザーに知らせたい場合があります.以前に起動したサービスも停止しなければなりません.Listing 2で説明したように.Listing 2 Stopping location services when authorization is denied
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
if error.code == .denied {
// Location updates are not authorized.
locationManager.stopMonitoringVisits()
return
}
// Notify the user of any errors.
}
See Also
Related Topics
Using the Significant-Change Location Service
電力を節約することで位置更新を取得するが、標準位置サービスに比べて取得頻度は低い.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_significant-change_location_service
https://velog.io/@panther222128/Using-the-Significant-Change-Location-Service
Using the Standard Location Service
特定のパラメータに基づいて定期的に位置更新を取得します.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/using_the_standard_location_service
https://velog.io/@panther222128/Using-the-Standard-Location-Service
Handling Location Events in the Background
バックグラウンド実行モードを使用して、アプリケーションに関連するイベントに応答します.
https://developer.apple.com/documentation/corelocation/getting_the_user_s_location/handling_location_events_in_the_background
https://velog.io/@panther222128/Handling-Location-Events-in-the-Background
Converting Between Coordinates and User-Friendly Place Names
緯度/経度対とその位置のよりユーザーフレンドリーな説明の間で変換します.
https://developer.apple.com/documentation/corelocation/converting_between_coordinates_and_user-friendly_place_names
https://velog.io/@panther222128/Converting-Between-Coordinates-and-User-Friendly-Place-Names
Converting a User's Location to a Descriptive Placemark
地図に表示されるユーザ位置を逆符号化情報付きテキスト説明に変換します.
https://developer.apple.com/documentation/mapkit/mkmapview/converting_a_user_s_location_to_a_descriptive_placemark
https://velog.io/@panther222128/Converting-a-Users-Location-to-a-Descriptive-Placemark
Reference
この問題について(Using the Visits Location Service), 我々は、より多くの情報をここで見つけました https://velog.io/@panther222128/Using-the-Visits-Location-Serviceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol