定位开启 但有时候没有走协议方法 无反应问题 是 iOS8问题 ...
iOS APP开发的时候 需要用到定位
定位开启 但有时候没有走协议方法 无反应
-(
void
)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
这协议方法一直没调用
在iOS8以前的版本中,我们使用CLLocationManager定位是没有问题的,最近在iOS8系统中却无法定位了。。。。这是一大问题啊!
iOS8中使用CoreLocation定位
1、在使用CoreLocation前需要调用如下函数【iOS8专用】:
iOS8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法:
(1)始终允许访问位置信息
1
|
- ( void )requestAlwaysAuthorization; |
1
|
- ( void )requestWhenInUseAuthorization; |
1
2
3
4
5
6
7
8
|
locationManager=[[CLLocationManager alloc] init]; locationManager.delegate=self; locationManager.desiredAccuracy=kCLLocationAccuracyBest; locationManager.distanceFilter= 10 ; if (iOSVersion>= 8 ) { [locationManager requestWhenInUseAuthorization]; //使用程序其间允许访问位置数据(iOS8定位需要) } [locationManager startUpdatingLocation]; //开启定位 |
(1)NSLocationAlwaysUsageDescription
(2)NSLocationWhenInUseUsageDescription