iOS Multi-Tasking Track GPS Location

空扰寡人 提交于 2019-12-17 17:26:32

问题


I was just wondering if it was possible to make an iOS app that would track your location via GPS while it was in the background.

I tried this with the built-in app "Maps", but to no avail.

If this is possible, it would be great if you could refer me to some sample code, documentations, or tutorials!

(if this is a duplicate, please let me know and I will remove it)


回答1:


This is possible — see this document for multitasking in general and this section of the Location Awareness Programming Guide for "Getting Location Events in the Background". Of course, all these talk about all of the various ways an iOS device can get your location (cell tower triangulation, Skyhook-style wifi network observation and GPS), not exclusive GPS.

In short, from reading those docs: add the UIBackgroundModes key into your info.plist, which is an array, and put the value 'location' into it. You'll then receive CLLocationManager updates even when in the background.

However, if you want to be nice to the battery then you're better off using the startMonitoringSignificantLocationChanges method on a CLLocationManager. Then you get suitably significant location updates even when in the background without being a full on background app. Other parts of the documentation state that a significant change is any change from one cell tower to another.



来源:https://stackoverflow.com/questions/4400628/ios-multi-tasking-track-gps-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!