【问题标题】:Regions sample app broken or Simulator broken区域示例应用程序损坏或模拟器损坏
【发布时间】:2012-07-09 17:24:15
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 您可以发布一些代码来展示您如何设置 CLLocationManagerDelegate。这是您的回调事件将要响应的地方以及您需要处理它们的地方。可能只是委托问题,或者您遇到了我发现的 5.1 模拟器错误(答案如下)。
  • 我正在使用来自 Apple 开发网站的名为“Regions”的示例应用程序。它们看起来不错(它们在名为 RegionsViewController 的文件中)。

标签: ios ios-simulator cllocationmanager


【解决方案1】:

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

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

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

【讨论】:

  • 嗯。我什至无法触发一个事件来进行区域监控。
  • 我想我应该下载iOS6 beta 模拟器并尝试一下。我很犹豫,因为你不能提交到商店,但如果我不能让这个工作,就没有任何东西可以提交。
  • 我明天要打电话给苹果公司。你能指出我在哪里可以看到这是一个已知的错误吗?
  • 有一个雷达打开,11715223。
  • 我该如何找到那个雷达号码?当我回复他们的 TSI 回复时,我会向苹果提及。
【解决方案2】:

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

【讨论】:

  • 谢谢,但我已经删除了该应用程序并重新安装。此外,我从 Debug > Location settings 得到了一些响应,但没有从 region 得到响应。
猜你喜欢
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
  • 2021-04-14
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
相关资源
最近更新 更多