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