我正在与CLLocation经理合作,
我已经实现了startUpdatingLocation
方法来获取当前位置的纬度和经度。
如果应用程序正在运行Foreground,我获得了当前位置的经纬度,但是当应用程序在后台运行时它无效。
如果应用程序在后台运行,请建议我如何获得当前位置的纬度和经度。
答案 0 :(得分:1)
我刚刚在此链接中找到了stackoverflow中的答案: -
How do I get a background location update every n minutes in my iOS application?
在Apple Developer论坛的帮助下找到了实现此解决方案的解决方案。我做了以下事情:
NSTimer
UIApplication:beginBackgroundTaskWithExpirationHandler:
n
小于UIApplication:backgroundTimeRemaining
,它确实可以正常工作,如果n
更大,则应该在没有时间之前再次启用(和禁用)位置管理器剩余以避免后台任务被杀死。这确实有效,因为location是三种允许的后台执行类型之一。注意:通过在无法正常工作的模拟器中进行测试,确实耗费了一些时间,在手机上正常工作。
答案 1 :(得分:0)
在背景中获取currcnt位置在plist中指定位置背景模式。