- (CLLocationManager *)locationManager
{
if (!_locationManager) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter = 10;
[_locationManager requestAlwaysAuthorization];//添加这句
}
return _locationManager;
}
#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
debugMethod();
CLLocation *currentLocation = [locations lastObject];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
CLPlacemark *placemark = [placemarks firstObject];
}];
//关闭定位服务
[self.locationManager stopUpdatingLocation];
}
#pragma mark - IBAction
//定位按钮被点中
- (IBAction)locationBtnDidClick:(id)sender {
debugMethod();
if([CLLocationManager locationServicesEnabled]) {
[self.locationManager startUpdatingLocation];
} else {
[self.tableView makeToast:@"请打开定位服务" duration:1.0 position:@"center"];
}
}
info.plist中加入两行:
NSLocationAlwaysUsageDescription : 点击"允许"以开启云买手定位服务
NSLocationWhenInUseDescription : 点击"允许"以开启云买手定位服务