位置管理器错误:(KCLErrorDomain错误0)

90 iphone geolocation

Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Run Code Online (Sandbox Code Playgroud)

为什么会出现此错误?

Und*_*ion 154

如果您已Scheme/Edit Scheme/Options/Allow Location Simulation选中但未设置默认位置,则会发生此错误.我确信还有其他原因.

  • 如果您想知道SCHEME在哪里,请点击此链接https://developer.apple.com/library/mac/recipes/xcode_help-scheme_editor/Articles/SchemeDialog.html (9认同)

Vai*_*ran 42

UPDATE

感谢Ben Marten 您可以在XCode中使用这些步骤使其永久化:

  1. 产品>方案>编辑方案
  2. 单击运行.app
  3. 选项标签
  4. 已检查核心位置>选择您的位置
  5. 按确定

除此之外,即使你没有连接到wifi,你也可以通过顶级菜单项在模拟器中设置一个位置,Debug>Location并使其永久按照上面的步骤

ios模拟器中的位置错误

  • 要使其永久化,请在 Xcode 中:Product/Scheme/Edit Scheme .../Run/Options/Core Location - 选中“允许位置模拟”并将“默认位置”设置为“无” (2认同)

Mel*_*emi 33

我刚遇到这个问题.花了一些时间才找到解决方案,这与之前海报的答案松散相关.

必须启用机场(WiFi)才能使iPhone/iPad模拟器中的CoreLocation正常工作.我通过以太网连接,因此CL在模拟器中没有做任何事情.在您的网络设置中打开机场,然后重试.如果您想通过无线方式继续支持有线连接,可以通过拖动以太网下的机场来更改网络接口的顺序...

  • 我遇到此错误,并且我的计算机已连接到WiFi上网槽。另外,如果我没记错的话,模拟器不会解析位置,而是始终使用Apple Office位置。使用MapKit框架时,显示蓝点,因此已设置位置。这没有多大意义。 (2认同)

fra*_*yer 13

来自API文档:

CLError

位置管理器对象返回的错误代码.

typedef enum {kCLErrorLocationUnknown = 0,kCLErrorDenied,kCLErrorNetwork,kCLErrorHeadingFailure} CLError;

常量

kCLErrorLocationUnknown位置管理器目前无法获取位置值.可在iPhone OS 2.0及更高版本中使用.在CLError.h中声明.

kCLErrorDenied用户拒绝访问位置服务.适用于iPhone OS 2.0及更高版本.在CLError.h中声明.

kCLErrorNetwork网络不可用或发生网络错误.适用于iPhone OS 3.0b及更高版本.在CLError.h中声明.

kCLErrorHeadingFailure无法确定标题.适用于iPhone OS 3.0及更高版本.在CLError.h中声明.

所以这意味着无法确定位置.

我猜想最可能的原因是位置管理器正在使用WiFi来对位置进行三角测量,而数据库不会覆盖本地网络.如果他们到这里,显然可以由用户修复.

然而,正如我所指出的,当在WiFi位置正常工作的位置运行基于位置的程序时,我偶尔也会看到这是一个瞬态错误.

最后,我想如果出现某种硬件故障,可能会看到此错误.

  • 他在问:KCLErrorDomain (4认同)

小智 5

1)检查您是否确实拥有有效的WiFi和3G连接

如果那样的话

2)转到设置并重置您的位置服务3)重置您的网络设置