NSLocationAlwaysUsageDescription 始终使用定位
NSLocationUsageDescription 是否同意定位
NSLocationWhenInUseUsageDescription 在前台使用定位
CLLocationManager
1 定位权限
A 隐式获取权限
[locationManager startUpdatingLocation]
B 显示获取权限
if ([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[locationManager requestWhenInUseAuthorization];
}
C 是否已经决定了定位权限
+ (BOOL)authorizationDetermined {
return [CLLocationManager authorizationStatus] != kCLAuthorizationStatusNotDetermined;
}
D 获得的定位权限是什么
+ (BOOL)authorized {
return [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized ||
[CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedAlways ||
[CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse;
}
+ (BOOL)denined {
return [CLLocationManager authorizationStatus] == KCLAuthorizationStatusDenied;
}
CLLocation
A 经纬度 CLLocationCoordinate2D coordinate;
B 海拔 CLLocationDistance altitude;
C 航向 CLLocationDirection course;
D 速度 CLLocationSpeed speed;
E 误差半径 (定位精度) CLLocationAccuracy horizontalAccuracy;
CLPlacemark
A 地里位置 CLLocation *location;
B 区域 CLRegion *region;
C 详细地址 NSDictionary *addressDictionary;
D 地址名称 NSString *name;
E 城市 NSString *locality;