gpt4 book ai didi

swift - 当用户拒绝定位时显示定位请求提示

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:40 24 4
gpt4 key购买 nike

当用户拒绝跟踪他的位置并且整个应用程序都基于当前位置时,处理这种情况的正确方法是什么?我在 viewDidAppear 中调用 locationAuthorization(),当用户允许该位置时它工作正常。

func locationAuthorization(){
if CLLocationManager.authorizationStatus() == .authorizedWhenInUse{
refreshData()

} else if (CLLocationManager.authorizationStatus() == .denied) {
addressButton.isHidden = true
} else {
locationManager.requestWhenInUseAuthorization()
sleep(2)
locationAuthorization()
}
}

我试图在 .denied 语句中调用 locationAuthorization() 但它显然不起作用。放置 locationManager.requestWhenInUseAuthorization() 也不起作用。那么当用户点击“不允许”时,最好的处理方式是什么?它使我的应用程序无法使用,因此我必须显示位置窗口,直到用户接受它。

最佳答案

将其放在 .denied 部分:

let alert = UIAlertController(title: "Need Authorization", message: "This app is unusable if you don't authorize this app to use your location!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
alert.addAction(UIAlertAction(title: "Settings", style: .default, handler: { _ in
let url = URL(string: UIApplicationOpenSettingsURLString)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}))
self.present(alert, animated: true, completion: nil)

您不能再次请求授权,但您可以告诉人们在设置中更改它。

关于swift - 当用户拒绝定位时显示定位请求提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com