iphone – 当app在后台时,CLLocationManager有时会停止更新

iphone – 当app在后台时,CLLocationManager有时会停止更新,第1张

概述我有一个应用程序,它使用CLLocationManager跟踪用户的路径,沿着所采用的路径绘制点.该应用程序使用必需的背景模式在后台运行>应用程序注册位置更新. 据我所知,后台发生的任何事情都需要从locationManager调用:didUpdateToLocation:fromLocation,因为这是每个位置更新调用的方法. 我遇到的问题是有时会停止调用.当用户的位置在大约15分钟左右的时间 我有一个应用程序,它使用CLLocationManager跟踪用户的路径,沿着所采用的路径绘制点.该应用程序使用必需的背景模式在后台运行>应用程序注册位置更新.

据我所知,后台发生的任何事情都需要从locationManager调用:dIDUpdatetoLocation:fromLocation,因为这是每个位置更新调用的方法.

我遇到的问题是有时会停止调用.当用户的位置在大约15分钟左右的时间内没有太大变化时,似乎会发生这种情况.据我所知,调用locationManager:dIDUpdatetoLocation:fromLocation只是停止,大概是为了节省电池.不幸的是,当你回到移动状态时,它不会再次恢复.

我认为无法覆盖此行为,因此我想使用通知中心通知用户应用程序不再记录路由.问题是,应用程序如何知道发生了这种情况?如果未调用locationManager:dIDUpdatetoLocation:fromLocation,则无法触发我的通知.如果正在调用它,则不应触发通知.

是否有某种系统通知表明位置更新将停止?

我发现很难调试这个,因为当我出去测试设备上的位置时,我无法随身携带我的Mac(在模拟器中你只能做很多事情).任何调试技巧也将非常感谢!

解决方法 如果您还没有找到答案,我认为这是因为CLLocationManager中添加了一个名为pausesLocationUpdatesautomatically的新属性.该属性默认为YES,其行为与您描述的完全相同.尝试将其设置为NO,我认为它将解决您的问题. 总结

以上是内存溢出为你收集整理的iphone – 当app在后台时,CLLocationManager有时会停止更新全部内容,希望文章能够帮你解决iphone – 当app在后台时,CLLocationManager有时会停止更新所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1081085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存