`CLLocationManager requestWhenInUseAuthorization`在用户接受后执行操作

时间:2014-09-19 15:07:34

标签: ios8 cllocationmanager

我已将我的应用更新为包含[CLLocationManager requestWhenInUseAuthorization]。用户授权后是否可以开始更新?在iOS7中,我会在视图加载时使用用户位置,但是现在有一个额外的步骤,因此我的方法没有使用有效的纬度和经度。

1 个答案:

答案 0 :(得分:0)

解决方案是在CLLocationManager Delegate方法中执行操作;

// Location Manager Delegate Methods
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

在用户授予使用位置服务的权限后,将调用此方法。或者,如果用户已经授予访问权限,则会自动调用它。如果您只想调用某种方法:

// Location Manager Delegate Methods
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
   CLLocation *location = [locations lastObject];
   if(location !=nil){
   //we got a location
   //<YOUR METHOD GOES HERE>
   [manager stopUpdatingLocation];



   }
}