iPhone模拟器上的CLLocationManager因kCLErrorDomain Code = 0而失败

alb*_*amg 41 iphone simulator cllocationmanager cllocation ios

CLLocationManager在iPhone模拟器上应该假冒库比蒂诺(不是吗?)但它没有,它失败了kCLErrorDomain Code=0.LocationManager的委托接收消息didFailWithError.实现此方法以记录错误,控制台输出以下内容:

Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
Run Code Online (Sandbox Code Playgroud)

当我遇到这个问题时,我正在研究一个真实的项目,但讨论我的代码是没有意义的,因为我从开发中心下载了"Locations"示例代码(iOS 4更新为2010-06-22)并且问题仍然存在.

当应用程序收到第一个位置更新时,该应用程序将启用"添加"按钮,以便用户可以跟踪其位置,但不执行任何操作.

我添加了一个(普通的)行didFailWithError来记录错误,如果有的话.我得到上述错误.

使用Xcode 3.2.2和目标3.1.3,我可以在运行较旧版本的"Locations"项目时获得固定位置(Cupertino).

有人可以帮忙吗?

谢谢.

sil*_*eep 63

如果您选中了Scheme/Edit Scheme/Options/Allow Location Simulation但没有设置默认位置,也会发生此错误.

请检查这可能会解决您的问题.


小智 19

以下步骤解决了我的问题:

  1. 在模拟器菜单下:Reset Content and Settings....
  2. 关闭模拟器
  3. 重启您的应用.


She*_*oni 9

我面临同样的情况并遵循这一步骤,可能会有所帮助:)

1)转到模拟器(无论哪个版本)

2)转到调试菜单 - >位置 - >选择Apple作为自定义位置.

它开始在我的情况下工作..


pro*_*rmr 7

我听说过这个,reported before但直到现在才从未见过.因为我使用以太网,所以我在MacBook上关闭了机场.我打开机场并重新启动模拟器,现在它可以工作了.

您需要在Mac上启用Wi-Fi(机场),模拟器才能使用Xcode 3.2.3报告位置.


Hem*_*ang 6

如果您已Scheme/Edit Scheme/Options/Allow Location Simulation选中但未设置默认位置,也会发生此错误.


Nic*_*rdu 5

它对我做了同样的事情:

它首先显示了位置,然后我安装了XCode 4.2测试版,然后当我回到4.1位置时不再显示并且CLLocationManager抛出位置错误.

我做了以下,问题是修复(我不知道这两个动作是否都是必需的,或者只有一个就足够了,因为它现在有效并且无法重现):

然后运行模拟器:

  • 拔下网线
  • 将模拟器中的设备更改为iPhone(视网膜):硬件>设备> iPhone(Retina)

我错误地做了这个,它修复了我的iMac上的位置.


alb*_*amg 3

CLLocationManager在iOS Simulator 5.0上再次开始按预期工作。

根据我的经验,它过去常常在iOS Simulator 4.04.3kCLErrorDomain Code=0上失败。按照其他答案的建议,打开机场并连接到 Wi-Fi,对我的情况没有帮助。不过,我还是要感谢大家的回答。我只是通过测试设备上的所有核心位置代码来解决这个问题。

最近我升级到了 XCode 4.2(从 XCode 3.2.6)和它附带的 iOS Simulator 5.0,结果,我注意到它CLLocationManager再次开始按预期工作。当在 XCode 4.2 中选择较旧的模拟器时,它总是失败;这表明模拟器是罪魁祸首。

  • XCode 4.2 附带的模拟器功能更加强大。运行 iOS 模拟器时,选择“调试”菜单,然后选择“位置”,您会看到许多位置模拟选项,包括自行车骑行、高速公路驾驶、自定义位置…… (3认同)