Ios 将应用程序保持在后台模式以进行连续位置更新

Ios 将应用程序保持在后台模式以进行连续位置更新,ios,ios-background-mode,Ios,Ios Background Mode,我的项目正在使用CLLocationManager对象,通过以下方式接收更新: locationManager:didUpdateToLocations: 我想要这些更新,即使我的应用程序在后台。因此,在info.plist中,我将“所需背景模式”列表设置为位置更新的应用程序注册 但我的测试表明,它不会在后台状态下接收更新 但是,我不确定我对背景状态/挂起状态的理解是否正确。 我认为它是这样工作的: After the home button is pressed, the app enters

我的项目正在使用CLLocationManager对象,通过以下方式接收更新: locationManager:didUpdateToLocations:

我想要这些更新,即使我的应用程序在后台。因此,在info.plist中,我将“所需背景模式”列表设置为位置更新的应用程序注册

但我的测试表明,它不会在后台状态下接收更新

但是,我不确定我对背景状态/挂起状态的理解是否正确。 我认为它是这样工作的:

After the home button is pressed, the app enters background mode for 5 seconds, 
and then enter suspended state.
我想这就是它不起作用的原因。但是,如果将info.plist设置为“应用程序注册位置更新”并不能阻止应用程序达到挂起状态,那么我该如何实现它

按Home(主页)按钮和按lock(锁定)按钮有什么区别(如果有的话)?我的意思是按状态

我已经阅读了本指南的相关部分:

我对IOS还是新手,所以我可能忽略了一些东西。

首先,你有没有研究过《在后台获取位置事件》中的内容

您是否已检查
backgroundRefreshStatus
?是否允许此应用程序在后台运行

暂停位置自动更新的值是多少

您要求的准确度是多少?您是否采取了足够的行动来改变该准确度

你有没有给startUpdatingLocation打电话


这是iOS 6还是iOS 7?如果是iOS 7,请务必观看第204课时:“多任务处理的新功能是什么?”?“有了一些变化,iOS现在比以前更积极地关闭应用程序。

我刚刚读过,谢谢。我不熟悉背景情况。pausesLocationsUpdatesAutomatically仍然是默认值YES。我使用尽可能高的精确度,并且我以步行速度移动。在输入主页按钮时调用startUpdatingLocations。这是iOS 6的开始。我要去看那个录像带。当使用我的应用程序时,我会走一条路线,每隔30-50米将位置排列成一个阵列。稍后,我想知道当我接近这些位置(比如10米)时,我需要应用程序在这里更新位置,即使是在后台。您是否将您的应用程序与区域示例进行了比较,该示例的功能与您描述的类似。如果
pausesLocationUpdatesAutomatically
YES
,则可能是您正在使用的配置导致了暂停(以行走速度移动可能会导致暂停)。我将尝试一下。谢谢你的帮助!