- 导入CoreLocation第三方框架
- 创建位置管理者,并利用位置管理者获取位置
INTULocationManager *mgr
= [INTULocationManager sharedInstance];
[mgr
requestLocationWithDesiredAccuracy:INTULocationAccuracyRoom timeout:5 delayUntilAuthorized:YES block:^(CLLocation
*currentLocation, INTULocationAccuracy achievedAccuracy, INTULocationStatus
status) {
if (status == INTULocationStatusSuccess) {
NSLog(@"获取位置成功 %f %f", currentLocation.coordinate.latitude ,currentLocation.coordinate.longitude);
}else if(status == INTULocationStatusError) {
NSLog(@"获取失败");
}
}];
注意:
在info.plist文件中配置属性
NSLocationWhenInUseUsageDescription或者NSLocationAlwaysUsageDescriptionINTULocationManager就相当于系统的CLLocationManager,这里要使用懒加载,变成控制器的属性,不然会被释放。
INTULocationStatus的枚举类型和系统自带的CLAuthorizationStatus枚举类型一样。
CoreLocation的第三方框架会主动要求用户对应用程序授权。