如果您已Scheme/Edit Scheme/Options/Allow Location Simulation
选中但未设置默认位置,则会发生此错误.我确信还有其他原因.
如果您已Scheme/Edit Scheme/Options/Allow Location Simulation
选中但未设置默认位置,则会发生此错误.我确信还有其他原因.
UPDATE
感谢Ben Marten 您可以在XCode中使用这些步骤使其永久化:
产品>方案>编辑方案
单击运行.app
选项标签
已检查核心位置>选择您的位置
按确定
除此之外,即使你没有连接到wifi,你也可以通过顶级菜单项在模拟器中设置一个位置,Debug>Location
并使其永久按照上面的步骤
我刚遇到这个问题.花了一些时间才找到解决方案,这与之前海报的答案松散相关.
必须启用机场(WiFi)才能使iPhone/iPad模拟器中的CoreLocation正常工作.我通过以太网连接,因此CL在模拟器中没有做任何事情.在您的网络设置中打开机场,然后重试.如果您想通过无线方式继续支持有线连接,可以通过拖动以太网下的机场来更改网络接口的顺序...
来自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位置正常工作的位置运行基于位置的程序时,我偶尔也会看到这是一个瞬态错误.
最后,我想如果出现某种硬件故障,可能会看到此错误.
1)检查您是否确实拥有有效的WiFi和3G连接
如果那样的话
2)转到设置并重置您的位置服务3)重置您的网络设置