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/