在iPhone模拟器中禁用位置服务?

时间:2010-02-25 09:59:57

标签: iphone ios-simulator core-location

我想测试如果我的应用无法获取位置坐标会发生什么。是否可以在模拟器中禁用位置服务,例如关闭WiFI的iPod Touch?

我仍然没有iPhone开发者计划证书,所以我无法在我的设备上测试它。

提前致谢!

4 个答案:

答案 0 :(得分:8)

您可以在模拟器中禁用位置服务;

  1. 通过xcode运行您的应用,以便模拟器打开
  2. 通过xcode停止应用程序(这应该让模拟器保持打开状态)
  3. 在模拟器窗口中打开“设置”应用
  4. 隐私>位置服务。禁用位置服务
  5. 再次运行您的应用,应停用位置服务
  6. 希望它有所帮助!

答案 1 :(得分:0)

**无视这一点。这适用于MapKit。查看下面的评论。

断开计算机与Internet连接的连接。 How to.

编辑:您可以测试this site中可以下载的代码here

启用AirPort后,即可获得地图。关闭AirPort,您将获得一个空白的平方视图。

答案 2 :(得分:0)

据我所知,您无法在模拟器上禁用位置服务。

我在使用位置服务时通常使用的方法是根据我的应用程序的需要构建一个简单的包装类arround NSLocation。

在这个包装器中,您可以轻易地假装该服务在模拟器中不起作用。例如,它可能有一个“isEnabled”方法,它在模拟器上返回false,编译器定义如(#if TARGET_ IPHONE_SIMULATOR)

答案 3 :(得分:0)

作为一种解决方法,您可以尝试通过使用适当的值构造NSError对象并手动调用相应的CLLocationManager委托didFailWithError:方法来模拟更新位置失败。