当我在我的swift应用程序中按下按钮时,我试图打开和关闭CoreLocation。当应用加载时,这是我打开它的方式
let locationManager = CLLocationManager()
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
这很有效。它会提示用户,然后在地图上更新我的位置。但是,如果你选择"不"当它请求时,我希望能够再次打开它。我认为这就像再次请求授权一样简单,但它不起作用。我有一个方法,当按下按钮打开位置时会调用该方法。
此方法的代码基本上完全相同。一旦最初设置了授权状态,我还需要做些什么吗?
答案 0 :(得分:1)
如果您在请求时选择“否”,我希望能够再次将其重新打开
一旦用户选择拒绝您的授权,您就无法与用户神奇地发生冲突,并且(唉)您无法再次出现系统的授权对话框。
您可以做的最好的事情就是您自己的对话框(即提醒)请求用户转到“设置”并翻转开关以授予您权限。您甚至可以将用户带到设置(iOS 8中的新功能)。但是你无法再次获得该系统授权对话框。