1.在info.plist中添加key NSLocationWhenInUseUsageDescription、NSLocationAlwaysUsageDescription。
2.CLLocationManager 切记定义成成员变量、或者属性,否则导致不弹出系统提示打开定位提示框
3.直接上代码
#pragma mark - CLLocationManagerDelegate
- (void)startLocation{
self.locationmanager = [[CLLocationManager alloc] init];
self.locationmanager.delegate = self;
}
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{
switch (status) {
case kCLAuthorizationStatusNotDetermined:
if([self.locationmanager respondsToSelector:@selector(requestAlwaysAuthorization)]){
[self.locationmanager requestWhenInUseAuthorization];
}
break;
case kCLAuthorizationStatusDenied:
[UIAlertView bk_alertViewWithTitle:@"请在设置-隐私-定位服务中开启定位功能!"];
break;
case kCLAuthorizationStatusRestricted:
[UIAlertView bk_alertViewWithTitle:@"定位服务无法使用!"];
default:
break;
}
}
4.开启定位后直接使用MKMapView定位。