IOS8上定位问题

在ios7之前,我们进入程序提示用户开启定位是这样做的,如下:

,,,,,* locationManager=[[]];

//locationManager.delegate=_instance;

desiredAccuracykCLLocationAccuracyBest

,,,,locationManager。=,

//定位服务是否可用

locationServicesEnabled

//是否具有定位权限

,,,,状态=[];

,,,,(!使| | status<) {

,,,,,,

,,,,,,[locationManager];

,,,,}

但是到了ios8后,发现定位压根就不起作用,老是提示: ios8上定位问题


ios8定位解决如下:

先在NSLocationWhenInUseUsageDescription

在. h里面

,继承代码

,,定义* _locationManager;

在。m里面定义:

- () startTrackingLocation {

CLAuthorizationStatusCLLocationManager kCLAuthorizationStatusNotDetermined

,,,,,

requestAlwaysAuthorization

,,,,

//[_locationManager requestWhenInUseAuthorization];

,,}

kCLAuthorizationStatusAuthorizedWhenInUsekCLAuthorizationStatusAuthorizedAlways startUpdatingLocation

,,}

}


//实现代码回调

# pragma马克- CLLocationManager委托方法

——() locationManager:(*)经理didChangeAuthorizationStatus:地位(){

,,(状态){

kCLAuthorizationStatusAuthorizedAlways

kCLAuthorizationStatusAuthorizedWhenInUse

@“授权,开始跟踪位置”

startTrackingLocation

,,,,,,,

kCLAuthorizationStatusNotDetermined

requestAlwaysAuthorization

,,,,,,,

,,,,:

,,,,,,,

,,}}


调用如下:,,

,,,(){

,,,,=[[]];

_locationManager startTrackingLocation

,,}


最后实现效果如下图,点击允许即可定位了:

 IOS8上定位问题

 


IOS8上定位问题