处理内置iOS权限对话框

时间:2015-11-25 21:14:03

标签: ios cocoa-touch dialog ios-permissions

首次加载我的视图控制器时,会提示用户使用内置的iOS权限消息:“允许”appName“在您使用应用时访问您的位置?”

有没有办法暂停应用,直到用户选择不允许或允许?

用户选择允许或不允许后,我可以通过检查值来处理它:

//INSIDE OF ViewDidAppear

if(authstate != CLAuthorizationStatus.Denied)
{
 // do something
}
else if (authstate == CLAuthorizationStatus.AuthorizedWhenInUse)
{
  // do something
}

现在,即使iOS权限对话框仍显示在屏幕上,代码也会逐步执行if语句。因此,我想暂停它,直到用户选择允许或不允许。然后在用户选择允许或不允许后,继续执行if语句

1 个答案:

答案 0 :(得分:1)

没有。权限请求以异步方式发生。你必须实现CLLocationManagerDelegate方法

func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
  // check the status
}

在用户回答权限对话后调用。