Привет,помогите с реализацией
По нажатию на кнопку начинаю трекать геолокацию .startUpdatingLocation()
Функция по нажатию кнопки:
func handleLocationAuthorizationStatus(){
switch locationManager.authorizationStatus {
case .authorizedWhenInUse,.authorizedAlways:
startStopTracking()
break
case .denied:
// presentAlertController
break
case .notDetermined:
locationManager.requestWhenInUseAuthorization()
break
case .restricted:
break
@unknown default:
print("New case is available")
}
}
В случае если статус авторизации .notDetermined,хочу,чтобы после разрешения(Allow while using app) на запрос .requestWhenInUseAuthorization() начинала трекаться локация
Можно сделать через метод делегата locationManagerDidChangeAuthorization()
if manager.authorizationStatus == .authorizedWhenInUse{
startStopTracking()
}
Но в таком случае,если я просто в настройсках сменил статус с Never,Ask Next Time на When Using the App - так же срабатывает метод делегата и начинает трекаться локация без нажатия на кнопку,чего я бы хотел избежать
Вопрос - как красиво реализовать нужное поведение?
Мои догадка только доп условие в методе делегата и то пока не знаю какое