处理内置 iOS 权限对话框

Handling Built In iOS Permission Dialogs

第一次加载我的视图控制器时,系统会提示用户使用内置的 iOS 权限消息:"Allow "appName" 在您使用该应用程序时访问您的位置?"。 =12=]

有什么方法可以让我暂停应用程序,直到用户选择“不允许”或“允许”?

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

//INSIDE OF ViewDidAppear

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

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

没有。权限请求异步发生。您必须实施 CLLocationManagerDelegates 方法

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

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