CoreLoation
- (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 : 点击"允许"以开启云买手定位服务
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步