您的位置:首页 > 其它

99 CLLocation的基本使用

2015-11-05 10:33 281 查看
1.定位的基本使用:

1>iOS7只要开始定位, 系统就会自动要求用户对你的应用程序授权. 但是从iOS8开始, 想要定位必须先”自己”“主动”要求用户授权

在iOS8中调用requestAlwaysAuthorization和requestWhenInUseAuthorization要主动请求授权, 而且 必须再info.plist文件中配置一项属性才能弹出授权窗口

NSLocationWhenInUseDescription,允许在前台获取GPS的描述(弹框时的描述就是key后面的文字,下同)

NSLocationAlwaysUsageDescription,允许在后台获取GPS的描述

if([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0){
// 主动要求用户对我们的程序授权, 授权状态改变就会通知代理
[self.mgr requestAlwaysAuthorization]; // 请求前台和后台定位权限
//[self.mgr requestWhenInUseAuthorization];// 请求前台定位权限
}else{
// 3.开始监听(开始获取位置)
[self.mgr startUpdatingLocation];
}


并且监听:

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{
if (status == kCLAuthorizationStatusAuthorizedAlways || status == kCLAuthorizationStatusAuthorizedWhenInUse){
NSLog(@"授权成功");
// 开始定位
[self.mgr startUpdatingLocation];
}
}


在有授权的时候才开始进行定位。所以要根据系统版本的不同进行判定,iOS8之前可以直接进行定位,在iOS8以后要按照上述步骤进行

设置定位精度和多远进行一次定位:

self.mgr.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
self.mgr.distanceFilter = 500;


iOS7授权框弹出时的描述可以配置:

Privacy - Location Usage Description,后面加描述
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: