更新时间:2022-12-26 12:44:51
我在Apple开发者论坛的帮助下找到了实现此解决方案的解决方案:
I found a solution to implement this with the help of the Apple Developer Forums:
位置背景模式
NSTimer
UIApplication:beginBackgroundTaskWithExpirationHandler:
n
小于 c> UIApplication:backgroundTimeRemaining 它会正常工作。当 n
更大时,应再次启用(和禁用)位置管理器
没有时间来避免后台任务被杀死。 location background mode
NSTimer
in the background with UIApplication:beginBackgroundTaskWithExpirationHandler:
n
is smaller than UIApplication:backgroundTimeRemaining
it will work just fine. When n
is larger, the location manager
should be enabled (and disabled) again before there is no time remaining to avoid the background task being killed. 这是有效的,因为location是三种允许的后台执行类型之一。
注意:我在模拟器中测试它时失去了一些时间。但是,它在我的手机上工作正常。