0

我在 iOS 中基于 Region Monitoring 的应用程序有问题;

假设我有一个半径为 300 米的受监控区域,并且我的位置距离该区域的中心 350 米(但我乘坐的汽车正在靠近我的区域)。

如果我在那一刻关闭我的应用程序,GPS 会立即关闭,并且永远不会调用方法“didEnterRegion”。如果我的位置距离我监控的区域更远(例如 500 米远),则不会发生此问题

有可能解决这个问题吗?我尝试使用“后台模式”在后台设置“所需的位置服务”,但这使得使用 GPS 而不是“区域监控”并且 GPS 永远不会停止。

区域监控的问题在于,当用户已经“在区域内”时,此功能永远不会起作用,这会导致及时通知出现很多问题。

4

1 回答 1

0

首先,您不需要后台模式来进行区域监控,即使您让设备休眠(按下顶部按钮),区域监控仍将继续运行。另外,如果您不使用 BG 模式,Apple 可以根据他们的需要拒绝您的应用程序。

对于您的问题,如果您已经在里面并且由于某种原因没有得到 didEnterRegion,您应该使用备份计划。在您的 CLRegion 类中,您可以调用containsCoordinate以查看您是否在该区域内。

您可能由于某种原因没有收到 didEnterRegion 调用,您的添加区域被重新初始化。即您重新添加了您的区域。

于 2013-04-09T18:02:50.633 回答