【问题标题】:Handling Built In iOS Permission Dialogs处理内置的 iOS 权限对话框
【发布时间】:2015-11-25 21:14:02
【问题描述】:

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

有没有一种方法可以暂停应用程序,直到用户选择不允许或允许?

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

//INSIDE OF ViewDidAppear

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

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

【问题讨论】:

    标签: ios cocoa-touch dialog ios-permissions


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多