在用户拒绝之后询问位置许可。 Swift 3. IOS

时间:2017-02-09 20:18:27

标签: ios swift cllocationmanager

我是ios的新手,但有以下问题。

应用启动时,用户应接受位置权限。这很好用。如果他不允许,某些功能不起作用。

但是,我希望当用户尝试使用这些功能时,他会收到一条警告,表示他不接受位置权限。我也这样做了。但是我希望警报有一个按钮,允许他现在接受它(所以他不必在他的手机上进行设置)这是我无法做到的。

我为这样的警报设置了一个处理程序,但它不能接受该权限。 这是处理程序......

 func someHandler(alert: UIAlertAction!) {
    print("User now wants to let location from new")

    self.locationManager.requestWhenInUseAuthorization()

    if CLLocationManager.locationServicesEnabled() {
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
        locationManager.startUpdatingLocation()
    }

}

这是错的,我还应该把它放在什么地方。目前,当调用处理程序时,未启用位置服务。

由于

1 个答案:

答案 0 :(得分:4)

你无法做你想做的事。只有用户可以通过转到“设置”应用来更改设置。

如果您可以以编程方式更改权限,那将是一场安全噩梦。并且没有API强制iOS第二次显示权限警报。