位置pipe理器错误:(KCLErrorDomain错误0)
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
为什么会发生这种错误?
如果您已经选中了Scheme/Edit Scheme/Options/Allow Location Simulation
但没有设置默认位置,则会发生此错误。 我相信也有其他的原因。
UPDATE
感谢Ben Marten您可以使用XCode中的这些步骤使其永久化:
- 产品>计划>编辑计划
- 单击运行.app
- 选项选项卡
- 已经选中核心位置>select你的位置
- 按OK
除此之外,即使您没有连接到wifi,也可以通过顶层菜单项“ Debug>Location
位置”在模拟器中设置一个位置,并使其永久按照上述步骤
我刚刚有这个问题。 花了我一段时间才find解决scheme,这个解决scheme只和上一张海报的答案松散相关。
机场 (WiFi) 必须在iPhone / iPad模拟器的CoreLocation 上运行。 我通过以太网连接,所以CL在模拟器中没有做任何事情。 在您的networking设置中打开机场,然后重试。 如果要继续通过无线方式连接有线连接,可以通过在以太网下拖动机场来更改networking接口的顺序…
从API文档:
CLError
位置pipe理器对象返回的错误代码。
typedef enum {kCLErrorLocationUnknown = 0,kCLErrorDenied,kCLErrorNetwork,kCLErrorHeadingFailure} CLError;
常量
kCLErrorLocationUnknown位置pipe理器现在无法获取位置值。可用于iPhone OS 2.0及更高版本。 在CLError.h中声明。
kCLErrorDenied访问位置服务被用户拒绝。 在iPhone OS 2.0及更高版本中可用。 在CLError.h中声明。
kCLErrorNetworknetworking不可用或发生networking错误。 在iPhone OS 3.0b和更高版本中可用。 在CLError.h中声明。
kCLErrorHeadingFailure标题无法确定。 可在iPhone OS 3.0及更高版本中使用。 在CLError.h中声明。
所以这意味着位置无法确定。
我猜想最可能的原因是位置pipe理器正在使用WiFi来对位置进行三angular测量,而数据库不包括本地networking。 这显然可以由用户如果他们去这里修复。
但是,正如我注意到,我也偶尔看到,这是一个短暂的错误时运行一个基于位置的程序在WiFi位置的东西正常工作的位置。
最后,我猜如果有某种硬件故障,可以看到这个错误。
1)检查你确实有一个有效的WiFi和3G连接
如果你这样做
2)进入设置并重置您的位置服务3)重置您的networking设置
当位置pipe理器无法立即获取位置信息时,会引发此错误。 我发现这个错误发生在startUpdatingLocation方法被调用时。 对我来说,这是发生在iPod上,而不是iPhone上。 这是有道理的,因为,iPhone有更多的方式(如蜂窝networking)来获取位置信息,并能够快速估计位置,而iPod需要更多的时间,这导致这个错误在iPod上提出。
因为在抛出这个错误的时候locationManager:didFailWithError:调用了委托方法,所以可以通过匹配传递给这个方法的错误对象中的“[error domain]”和“[error code]”在条件语句中处理这个特定的情况。
我发现的确切原因是在ios仿真器“debugging设置”和xcode设置“编辑scheme”中的位置模拟中发生冲突。确保在此设置您的默认用户位置和标记另一个没有解决了问题,希望这可以帮助肯定。 InXcode:
在iphone / ipad模拟器中:
您可以将自己的位置列表添加到Xcode,以testing您的应用程序。
从Xcode中select菜单debugging/模拟位置,你会得到:
a. "Don't Simulate Location" b. 12 example locations c. "Add GPX File to Project..."
select“添加GPX文件到项目…”并select您创build的GPX文件。
运行程序时发生此错误,但在运行程序后模拟位置。
我得到一个方法:退出你的模拟器并重新启动它,然后在运行程序之前设置你的模拟器的位置,它适用于我。
希望这可以帮助! 这当然帮助了我。 谢谢…
如果你在模拟器中有这个,那么请遵循
Debug > Location > ✓ Apple
转到Xcode项目>产品>计划>编辑scheme> chek位置模拟>设置您的位置>并再次运行应用程序希望它会起作用!
感谢这篇文章( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ )我得到了一个提示,看看我的自定义GPX文件上的数据,发现问题。
您可能从不同来源获得的某些GPX文件可能具有以下指示指定path中不同坐标的元素。 这不适用于Xcode的位置模拟。
<gpx> ... <trkpt lat="" lon=""> <ele></ele> </trkpt> ... </gpx>
你应该做的是find所有出现的“trkpt”元素,并用你最喜欢的文本/ XML编辑器中的“wpt”replace它。 最终的结果应该如下:
<gpx> <wpt lat="" lon=""> <ele></ele> </wpt> ... </gpx>
希望这可以帮助! 这当然帮助了我。
所有这一切都没有为我工作..什么对我来说是: – 设置从模拟器的位置为none
然后将其更改回custom
位置,而应用程序正在运行。
所有的build议对我来说都没有帮助。 什么帮助是从模拟器设备卸载应用程序,重新安装它,并允许它访问的位置(在设置应用程序)。
如果您在设备上获取此信息,则可能是您没有要求或用户拒绝了收集位置的权限。