iOS8的定位,始终开启仍是应用运行时开启
iOS8的定位,始终开启还是应用运行时开启
原文 http://blog.****.net/nextstudio/article/details/40050095
http://www.tuicool.com/articles/VN3632
1、修改info
新增Key: NSLocationAlwaysUsageDescription 和 NSLocationWhenInUseUsageDescription ,这两个Key的值将分别用于描述应用程序始终使用和使用期间使用定位的说明,这些说明将显示在用户设置中。
info新增键值对如下 :
应用程序说明参见微信:
2、CLLocationManager初始化
iOS8CLLocationManager新增实例方法 requestWhenInUseAuthorization和 requestAlwaysAuthorization,需要在初始化时根据需要调用。
if([CLLocationManager locationServicesEnabled]){ self.locationManage = [[[CLLocationManager alloc] init] autorelease]; self.locationManage.delegate = self; self.locationManage.distanceFilter = 200; self.locationManage.desiredAccuracy = kCLLocationAccuracyBestForNavigation;//kCLLocationAccuracyBest; if (SYSTEM_VERSION >= 8.0) { //使用期间 [self.locationManage requestWhenInUseAuthorization]; //始终 //or [self.locationManage requestAlwaysAuthorization] } }
3、代理
新增下面的代理方法:
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status { switch (status) { case kCLAuthorizationStatusNotDetermined: if ([self.locationManage respondsToSelector:@selector(requestAlwaysAuthorization)]) { [self.locationManage requestWhenInUseAuthorization]; } break; default: break; } }