我正在开发MKMapView类, 在设备(iPhone5)上运行并且AirPlane模式为ON,Wi-Fi ON,
和MKMapView的属性:showsUserLocation
设置为YES
,MKMapView的委托
- (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error
,返回错误
Turn off airplane mode or use Wi-Fi to show your location on the map
告诉我转动AirPlane模式或打开Wi-Fi以获取地图上的位置。 我的飞行模式已开启,但我的Wi-Fi已启用,为什么我无法找到我的位置?
这是MKMapView或其他什么的错误吗? 谢谢!
答案 0 :(得分:1)
确定位置服务是否可用
每个基于iOS的 设备能够以某种形式支持位置服务 仍然存在位置服务可能不存在的情况 可用的:
用户可以在“设置”应用中停用位置服务。
用户 可以拒绝特定应用的位置服务。
设备可能在 飞行模式,无法启动必要的硬件。对于这些 原因,建议你随时拨打电话 locationServicesEnabled之前的CLLocationManager类方法 试图启动标准或重大变化的位置 服务。 (在iOS 3.x及更早版本中,检查。的值 而不是locationServicesEnabled属性。)如果是这个类方法 返回YES,您可以按计划启动位置服务。如果它返回 不,你试图启动位置服务,无论如何,系统 提示用户确认是否应该提供位置服务 重新启用。鉴于位置服务很可能被禁用 有意地,用户可能不欢迎这个提示。
不是在文档中明确说明如何做的错误
答案 1 :(得分:0)
我相信当飞机模式开启时,它会关闭所有可能的跟踪位置的方式,包括Wi-Fi。
您可以通过wi-fi连接到互联网并通过Safari访问任何网页,在启用飞行模式的情况下尝试使用您的设备。