2017-03-15 1 views
0

locationManager를 사용할 때 배터리 절약에 관한 질문이 있습니다. 여기 https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/LocationBestPractices.html 그리고 : : 여기보고 있었다 http://tumblr.twicetwice.net/post/47249353501/cllocationmanager-battery-saving-tips-and-best 그리고 많은 유래 게시물에를,하지만 높은 정확도 또한 백그라운드에서 자주 업데이트해야하기 때문에 나는 startMonitoringSignificantLocationChanges()처럼이 끝의 대부분을 사용할 수 없습니다. 또한 백그라운드에서 타이머를 사용하여 매 10 초마다 위치를 파악할 수 없다는 것을 알고 있습니다. 이제 특정 시간 동안 이동하지 않으면 위치 업데이트를 중지하고 싶습니다. 그리고 내가 다시 이사 할 때, 나는 다시 갱신을 원한다. pausesLocationUpdatesAutomatically = true을 사용할 수 없습니다. 사용자가 위치를 업데이트하기 위해 앱을 다시 포그 라운드에 배치하지 않기를 원하기 때문입니다. 앱이 백그라운드에서 작동 할 때 배터리 수명을 연장 할 수있는 다른 방법이 있습니까? 또한 CoreMotion을 사용하여 예제를 검색했습니다. 특정 시간 동안 움직이지 않으면 GPS를 끄고 가속도계가 몇 단계를 감지하면 켜는 것이 좋습니다. 그러나 이것도 백그라운드에서 작동하지 않는다는 것을 알았습니까? 아니면이 작업을 수행하는 방법을 아는 사람이 있습니까? 앱이 backgound에있는 동안 이동했을 때 위치를 업데이트하거나 위치를 업데이트하지 않으면 위치 업데이트를 중단하는 데 훨씬 좋은 솔루션이 있습니까? 내가 할 수있는 제안에 대해 감사 할 것입니다.locationManager 배경 배터리 수명

Btw : 저는 스위프트에서 꽤 새로워서 모를 수 있고 찾을 수없는 아주 쉬운 해결책이있을 수도 있습니다.

답변

0

이제 특정 시간 동안 이동하지 않으면 위치 업데이트를 중지하고 싶습니다. 다시 이동하면 업데이트를 다시 받으려합니다.

방문 모니터링을 설명하는 것일 수 있습니다. - 그러나 일반적으로 높은 정확도의 위치를 ​​지속적으로 요구하는 것은 매우 큰 배터리 비용입니다. 그렇기 때문에 장치가 전원 소스에 연결되어 있지 않으면 장치를 작동하지 않아야합니다.

+0

빠른 답변 감사드립니다. 특정 위치에 몇 분만 머문다면 화재가 발생하기 때문에 여기서는 방문 모니터링을 사용할 수 없습니다. 나는 사용자로부터 200 미터 이내의 위치를 ​​보여주는 tableView를 가지고있다. 이제 위치에서 50 미터 떨어진 곳에 푸시 알림을 받고 싶습니다. 이것은 모두 작동하지만 배터리 소모가 많습니다. 고정밀 위치 업데이트로 배터리가 소모된다는 것을 알고 있습니다. 이 때문에 사용자가 움직이지 않을 때, 앱이 백그라운드에있을 때도 약간의 힘을 절약하고 싶습니다. 이것이 가능한지 아십니까? – Marcel

관련 문제