- 導(dǎo)入CoreLocation第三方框架
- 創(chuàng)建位置管理者,并利用位置管理者獲取位置
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就相當(dāng)于系統(tǒng)的CLLocationManager,這里要使用懶加載,變成控制器的屬性,不然會(huì)被釋放。
INTULocationStatus的枚舉類型和系統(tǒng)自帶的CLAuthorizationStatus枚舉類型一樣。
CoreLocation的第三方框架會(huì)主動(dòng)要求用戶對(duì)應(yīng)用程序授權(quán)。