В приложении iOS, когда пользователь отказывает в разрешении на определение местоположения, я хочу показать предупреждение о необходимости дать разрешение. Я отлаживаю его, и код работает успешно, но я не вижу никаких предупреждений в симуляторе.
Я запускаю программу и отказываю в разрешении на определение местоположения. Затем я перезапускаю его и не могу показать никаких предупреждений.
func checkLocationAuthorizationStatus() {
let status = locationManager.authorizationStatus
switch status{
case .authorizedWhenInUse, .authorizedAlways: //eğer iki izinden biri alınmış ise burası çalışıcak
locationManager.startUpdatingLocation()
case .denied, .restricted: //red yemiş ise burası çalışıcak
showLocationAccessAlert()
case .notDetermined: //henüz konum izni vermemiş
locationManager.requestWhenInUseAuthorization()
@unknown default:
break
}
}
func showLocationAccessAlert() {
let alert = UIAlertController(
title: "Konum Erişimi Gerekli",
message: "Lütfen Ayarlar'dan konum iznini etkinleştirin.",
preferredStyle: .alert
)
alert.addAction(UIAlertAction(title: "Ayarlar", style: .default) { _ in
if let settingsURL = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.open(settingsURL, options: [:], completionHandler: nil)
}
})
alert.addAction(UIAlertAction(title: "Vazgeç", style: .cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... rt-to-user