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

时间:2010-06-24 14:08:56

标签: ios iphone cllocationmanager simulator cllocation

iPhone模拟器上的

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

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

当我遇到这个问题时,我正在研究一个真实的项目,但讨论我的代码是没有意义的,因为我从开发中心下载了“Locations”示例代码(针对iOS 4更新为2010-06-22)和问题持续存在。

该应用程序在收到第一个位置更新时启用“添加”按钮,以便用户可以跟踪他们的位置但不执行任何操作。

我在didFailWithError的实现中添加了一条(普通的)行来记录错误(如果有的话)。我得到了上述错误。

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

有人可以帮忙吗?

感谢。

13 个答案:

答案 0 :(得分:63)

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

请检查一下它是否可以解决您的问题。

答案 1 :(得分:19)

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

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

答案 2 :(得分:9)

我遇到了同样的情况并遵循了这些步骤,可能会有所帮助:)

  

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

     

2)转到“调试”菜单 - >位置 - >选择Apple作为您的自定义   位置。

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

答案 3 :(得分:7)

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

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

答案 4 :(得分:6)

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

答案 5 :(得分:5)

它对我做了同样的事情:

它首先显示了位置,然后我安装了XCode 4.2 beta,然后当我回到4.1位置时不再显示,CLLocationManager抛出位置错误。

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

  

然后运行模拟器:

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

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

答案 6 :(得分:3)

CLLocationManager iOS模拟器5.0 上再次开始按预期工作。

根据我的经验,它曾经在 iOS模拟器4.0 上通过 4.3 kCLErrorDomain Code=0一致失败。正如其他答案所示,打开机场并连接到Wi-Fi对我的情况没有帮助。但是,我要感谢大家的回答。我只是通过测试设备上的所有核心位置代码来解决这个问题。

最近我升级到了XCode 4.2(来自XCode 3.2.6)和随附的iOS模拟器5.0,结果我注意到CLLocationManager开始按预期工作了。在XCode 4.2中选择较旧的模拟器时,它会一直失败;它指的是模拟器的责任。

答案 7 :(得分:2)

机场需要开启&你必须加入一个网络。至少那是我的经历。当我打开它时,我不断得到同样的错误。加入我的无线网络,错误就消失了。

答案 8 :(得分:2)

我一直收到错误,直到我打开机场并连接到无线网络(不确定我是否应该在那个网络上!)...... CLLocationManager在经历了多年的失败后工作。这是一个巨大的模拟器错误还是什么??!

Apple - 请修复它! :P

答案 9 :(得分:2)

在Xcode 7 Simulator中:

  

硬件>重新启动

(比#34更软;重置内容和设置")

答案 10 :(得分:1)

我通常以太网连接进行模拟器测试 - 我遇到了这个失败。打开WIFI,但不使用它来处理数据(没有连接到任何东西) - 现在一切正常。

所以,解决方案是 - 只需打开WIFI(我也退出并重新启动模拟器,不确定是否需要)。

  

Lion和Xcode 4.2

答案 11 :(得分:1)

在以下情况下,iOS 5.0.1仍会出现这种情况:

  
      
  1. 在没有Wi-Fi连接的情况下运行模拟器
  2.   
  3. 连接到Wi-Fi网络
  4.   
  5. [结果] CLLocationManager失败,并在此问题中列出了错误。
  6.   
  7. [修复]重启模拟器
  8.   

答案 12 :(得分:0)

首先转到Xcode日志栏并设置"不要模拟位置"。 然后选择模拟器菜单> debug> location>设置自定义或选择任意。