Ios 如何检测用户何时按下;允许;当请求用户位置时
我正在创建一个使用用户当前位置的应用程序。在第一次运行时,在提示用户允许或拒绝应用程序使用其位置后,当用户按下“允许”按钮时,我想做一些事情。是否有办法检测用户何时按下“允许”按钮?您无法直接访问该警报 如果用户单击“不允许”,则CLLocationManager将对其代理调用locationManager:didFailWithError:。错误域将为kCLErrorDomain,错误代码将为kCLErrorDenied 您可以检查用户是否允许的状态Ios 如何检测用户何时按下;允许;当请求用户位置时,ios,swift,swift3,location,cllocation,Ios,Swift,Swift3,Location,Cllocation,我正在创建一个使用用户当前位置的应用程序。在第一次运行时,在提示用户允许或拒绝应用程序使用其位置后,当用户按下“允许”按钮时,我想做一些事情。是否有办法检测用户何时按下“允许”按钮?您无法直接访问该警报 如果用户单击“不允许”,则CLLocationManager将对其代理调用locationManager:didFailWithError:。错误域将为kCLErrorDomain,错误代码将为kCLErrorDenied 您可以检查用户是否允许的状态 let notificationType
let notificationType = UIApplication.shared.currentUserNotificationSettings?.types
if notificationType?.rawValue == 0 {
self.openPushNotificationDialog() //user denied or don't allowed
}
通知的官方链接Swift 3.0 您可以使用下面的委托方法来检测用户是否处于授权位置。如果用户允许该位置,则它将返回状态
.authorizedAllways
或.authorizedWhenInUse
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
}
适用于Swift 3X 您可以单击AuthorizedAllowandDeny,然后调用此方法并获取有关此方法的一些信息
func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if status == CLAuthorizationStatus.NotDetermined {
locationManager.requestWhenInUseAuthorization()
}
}