我有以下代码来调用位置服务(从而提高权限警报),然后我希望运行我的代码,如果他们拒绝,则允许或显示视图。
我的viewDidLoad方法中的代码如下所示,但是当它们第二次加载应用程序时,在他们做出选择之后,这两个选项都没有运行第一次。有没有办法让这段代码等待,基本上,只有在他们做出选择后才会运行?
CLLocationCoordinate2D coordinate = [self getLocation];
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)
{
NSLog(@"location enabled");
[self getDataFromJson];
} else {
NSLog(@"location disabled");
//show them a view telling them to allow location services
}
答案 0 :(得分:4)
您应该指定一个符合CLLocationManagerDelegate
协议的委托,并通过实施locationManager:didChangeAuthorizationStatus: