为什么位置服务不能作为后台任务?

时间:2013-02-20 15:25:25

标签: ios objective-c mkmapview cllocationmanager appdelegate

在我的应用程序中,有一个要观看的位置(区域)。当设备远离该位置时(可能是一个小到5-10米的距离),会弹出AlertView并播放声音。当应用程序在后台时,会生成本地通知。点击或滑动通知会将应用程序带到前面。这很好用。但是,当在后台运行时,位置会在15-16分钟左右后更新停止。箭头将从状态栏中删除。将应用程序置于前面,AlertView弹出并播放声音。据我所知,位置服务获得了当前位置的新修复,并且显示的是AlertView,因为初始距离大于要监视的区域。由于要观看的小区域,我认为我不能使用“重大变化”或“didExitRegion”。这是真的吗?

我在“所需的背景模式”中将info.plist中的标记设置为“App registers for location updates”。

那里有没有人知道会发生什么事情? 我是否必须在 - (void)applicationDidEnterBackground:(UIApplication *)application {}中添加一些代码,如果是这样......应该是什么?

提前致谢,

此致

Adri

1 个答案:

答案 0 :(得分:0)

在startUpdatingLocation之前,你可以设置你的LocationManager desiredAccuracy和distanceFilter字段以获得所需的精度