2017-04-18 4 views
0

우리는 앱이 실행되지 않을 때 사용자의 위치를 ​​알기 위해 중요한 위치 변경 모니터링을 사용합니다. 이 데이터는 셀룰러 타워 신호를 기반으로하므로 매우 정확하지 않습니다. 가능할 때마다, 즉 앱이 활성화되어 있거나 백그라운드에서 실행중인 경우 더 정확한 데이터를 사용하고 싶습니다.응용 프로그램 상태를 기반으로 중요한 위치 변경 모니터링과 위치 업데이트 모니터링 간 전환

"startMonitoringSignificantLocationChanges"와 "startUpdatingLocation"을 동시에 사용해야합니까, 아니면 두 방법간에 전환해야합니까? 두 번째 옵션이 더 좋은 경우 필요한 전환을 수행하기 위해 어떤 위임 이벤트를 사용해야합니까?

답변

3

고정밀 위치 스트림이 지속적으로 필요한 기능을 지원하지 않으려면 항상 startUpdatingLocation을 통해 고정밀 GPS 데이터를 사용하지 않는 것이 가장 좋습니다.

귀하의 질문에 귀하가 앱을 깨우면 특정 지점에서만 더 정확한 위치를 사용한다는 것을 이해했습니다. 이 경우 필요할 때만보다 정확한 위치 데이터를 전환하는 두 번째 방법이 더 좋은 아이디어입니다. 대리인의

locationManager(_:didUpdateLocations:) 대표자는 귀하의 사례에서 이것을 시작하는 것이 좋습니다. 중요한 위치 변경 모니터링 API는 명시 적으로 중지 될 때까지 위치 변경이 없더라도 적어도 15 분마다 한 번씩 시스템을 가동시킵니다. 그러니주의해서 사용해야합니다.

휴대 전화 배터리를 모두 먹지 않도록하면서 정확한 위치 추적을 계측하는 것은 간단한 문제입니다. 이 기능을 전문으로하는 Hypertrack과 같은 타사 SDK를 제공 할 수 있습니다.