mapView中的用户位置无法在多个模拟器设备上显示(MapKit)

时间:2015-05-26 00:28:13

标签: ios objective-c iphone mapkit

我已经实现了一个找到用户位置并显示它的mapView,但问题是它在iOS模拟器中无法在iPhone 4S,iPhone 5,iPhone 5S和iPhone 6 Plus上运行,仅限iPhone 6。奇怪的是它适用于我真正的iPhone 5S设备。

这可能是模拟器问题还是会在真实设备上发生?

这是我收到的警告:

尝试在不提示位置授权的情况下启动MapKit位置更新。必须首先调用 - [CLLocationManager requestWhenInUseAuthorization]或 - [CLLocationManager requestAlwaysAuthorization]。

2 个答案:

答案 0 :(得分:0)

  

尝试在不提示位置授权的情况下启动MapKit位置更新。必须先调用 - [CLLocationManager requestWhenInUseAuthorization]或 - [CLLocationManager requestAlwaysAuthorization]

这里的难点是什么?在您的应用明确要求授权使用用户的位置之前,您的地图视图无法显示用户的位置。错误消息甚至会显示您必须调用的方法,以便执行此操作!怎么会有用呢?只要做它告诉你的事情。

请注意,您不仅必须请求授权,还必须接收授权。

答案 1 :(得分:0)

我最终解决了自己的问题。

我刚在viewDidLoad中添加了这行代码:

 [self.locationManager requestWhenInUseAuthorization];

这非常有用:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/