2013-04-09 41 views
0

我有我的基于App在iOS中区监测问题;地区监测和应用程序关闭

假设我有一个半径为300米的监测区域,而且我的位置离该区域中心350米(但我正在驾驶一辆汽车离我的区域更近)。

如果我关闭我的应用程序在那个时刻打开GPS瞬间脱落和方法“didEnterRegion”永远不会被调用。这个问题不会发生,如果我的位置远离我所监测的区域(例如500米以外)

可以解决这个问题吗?我试着用“后台模式”在后台设置“所需的位置服务”,但是这使得使用GPS代替“区域监控”,并且GPS从不停止。

区域监控的问题是,当用户已经“在区域内”时,该功能从不起作用,然后这会导致很多问题及时通知。

回答

0

首先,您不需要背景模式来使区域监视功能正常工作,即使您在睡眠设备(按顶部按钮)时,区域监视仍将继续起作用。如果您根据自己的需要不使用BG模式,Apple可以拒绝您的应用程序。

对于您的问题,如果您已经在里面,并且出于任何原因没有收到didEnterRegion,则应使用备份计划。在您的CLRegion课程中,您可以拨打containsCoordinate以查看您是否在该地区。

你没有得到didEnterRegion通话可能由于某种原因,你的附加区域被重新初始化。即你已经重新添加了你的地区。

+0

感谢您的回答,我不知道'containsCoordinate'函数,但我使用'distanceFromLocation'作为同一个目标,但是这只适用于我在区域内的情况,但是例如如果我在外面1米该区域然后在App“我去”,但如果在第二个我关闭应用程序,在那一刻“我的区域,现在里面”,但就像我从来没有越过边界,该通知将不会触发 – 2013-04-09 18:31:42

+0

测试小心,即使您关闭了应用程序,它也应该会启动,问题是如果它被解雇,您是如何捕获的? – mskw 2013-04-09 18:56:35

+0

我投入了大量的“的NSLog的”我的应用程序,在“didEnterRegion”进入,“didUpdateLocations”等问题是不是应用程序关闭,当我远离我的区域,我关闭应用程序,有没问题。但是当我只有几米远时,我正走到我的地区,然后关闭我的应用程序,通知不会被解雇。 – 2013-04-09 21:27:39