Я пытаюсь получить местоположение пользователя в приложении, используя менеджер местоположения; как объяснено в документации Apple, я создал следующий метод:
func startReceivingLocationChanges() {
let authorizationStatus = CLLocationManager.authorizationStatus()
if authorizationStatus != .authorizedWhenInUse && authorizationStatus != .authorizedAlways {
locationManager.requestWhenInUseAuthorization()
startReceivingLocationChanges()
return
}
if !CLLocationManager.locationServicesEnabled() {
displayError(withTitle: "Location Not Available", withDescription: "Enable Location Services at Settings > Privacy > Location Services", sender: self)
return
}
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = 100.0 // In meters.
locationManager.pausesLocationUpdatesAutomatically = true
locationManager.activityType = .other
locationManager.delegate = self
locationManager.startUpdatingLocation()
}
Но, когда я запускаю приложение, эта ошибка выдает ошибку «Поток 1: EXC_BAD_ACCESS (код = 2, адрес = 0x16f0a7f60)» рядом со строкой:
locationManager.requestWhenInUseAuthorization()
Я указываю, что я добавил относительные ключи "Конфиденциальность - Местоположение всегда и когда используется описание использования" и "Конфиденциальность - Местоположение, когда используется описание использования" внутри info.plist.
Кто-нибудь знает, что вызывает проблему? Спасибо.