0

基本上,我无法获得越界事件 - locationManager:did[Enter|Exit]Region: - 来触发。

之前发布了关于使用模拟器测试位置的信息,但现在我认为我应该重新表述这个问题。

我查看了源代码并确保只使用了标准位置服务,而不是重大更改,尽管它们仅在应用程序进入后台或被暂停时使用,因此它不应该相关。我还使用了 regionMonitoringEnabled 和 regionMonitoringAvailable 来检查它们在模拟器中是否确实可用(它们是)。

但还是一无所获。updateWithEvent 未被调用,因此表格/图标徽章编号未被更新。

我会继续寻找,但我不知道它是否与 API 的工作方式有关(locationManager:did[Enter|Exit]Region:) 还是模拟器的东西(尽管模拟器很好地显示了位置更新)。

4

2 回答 2

1

这实际上是 iOS 5.1 模拟器中的一个已知错误。我已经向 Apple 提交了雷达以修复它,但基本上被忽略了。他们回答说“它在 iOS 6 beta 模拟器中是否有效”。它确实如此。

我遇到了同样的问题,它只触发一个用于区域监控的位置事件。进出,但不超过一个。

您可以下载 5.0 模拟器,它应该仍然可以工作,或者下载新的 iOS 6 测试版(如果您有访问权限)来测试区域监控,然后返回 5.1 进行其他任何操作。抱歉,我没有更好的消息。

于 2012-07-09T18:16:14.400 回答
0

尝试转到“iOS 模拟器”>“重置内容和设置”。从模拟器故障排除问题开始,这始终是一个很好的起点。它执行相当于还原的设备。如果您在模拟器的文件系统中乱搞,这尤其相关。

于 2012-07-09T17:27:34.883 回答