mapView 中的用户位置未显示在多个模拟器设备 (MapKit) 上
User location in mapView doesn't show on several simulator devices (MapKit)
我已经实现了一个 mapView 来查找用户位置并显示它,但问题是它在 iPhone 4S,iPhone 5,iPhone 上不起作用5S, 和 iPhone 6 Plus 在 iOS 模拟器上, 只在 iPhone 6. 奇怪的是它在我真正的 iPhone 5S 设备上工作.
这可能是模拟器问题,还是真实设备上也会出现这种情况?
这是我收到的警告:
尝试在不提示位置授权的情况下启动 MapKit 位置更新。必须先调用 -[CLLocationManager requestWhenInUseAuthorization] 或 -[CLLocationManager requestAlwaysAuthorization]。
Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first
这里最难的部分是什么?在您的应用程序明确请求授权 以使用用户位置之前,您的地图视图无法显示用户位置。错误消息甚至向您显示方法,您必须调用其中一个方法才能做到这一点!怎么可能更有帮助?照它说的去做。
请注意,您不仅要请求授权,还必须获得授权。
我最终解决了自己的问题。
我刚刚在 viewDidLoad 中添加了这行代码:
[self.locationManager requestWhenInUseAuthorization];
这很有帮助:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/
我已经实现了一个 mapView 来查找用户位置并显示它,但问题是它在 iPhone 4S,iPhone 5,iPhone 上不起作用5S, 和 iPhone 6 Plus 在 iOS 模拟器上, 只在 iPhone 6. 奇怪的是它在我真正的 iPhone 5S 设备上工作.
这可能是模拟器问题,还是真实设备上也会出现这种情况?
这是我收到的警告:
尝试在不提示位置授权的情况下启动 MapKit 位置更新。必须先调用 -[CLLocationManager requestWhenInUseAuthorization] 或 -[CLLocationManager requestAlwaysAuthorization]。
Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first
这里最难的部分是什么?在您的应用程序明确请求授权 以使用用户位置之前,您的地图视图无法显示用户位置。错误消息甚至向您显示方法,您必须调用其中一个方法才能做到这一点!怎么可能更有帮助?照它说的去做。
请注意,您不仅要请求授权,还必须获得授权。
我最终解决了自己的问题。
我刚刚在 viewDidLoad 中添加了这行代码:
[self.locationManager requestWhenInUseAuthorization];
这很有帮助:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/