我已经实现了一个找到用户位置并显示它的mapView,但问题是它在iOS模拟器中无法在iPhone 4S,iPhone 5,iPhone 5S和iPhone 6 Plus上运行,仅限iPhone 6。奇怪的是它适用于我真正的iPhone 5S设备。
这可能是模拟器问题还是会在真实设备上发生?
这是我收到的警告:
尝试在不提示位置授权的情况下启动MapKit位置更新。必须首先调用 - [CLLocationManager requestWhenInUseAuthorization]或 - [CLLocationManager requestAlwaysAuthorization]。
答案 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/