У меня есть одна странная проблема.
Проблема возникает только в симуляторе iPhone6.
Когда я запустил приложение в первый раз, без разрешения, то показать сбой в этом коде. Этот код находится в ViewDidLoad в главном ViewController
manager.delegate = self
manager.requestWhenInUseAuthorization()
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.startUpdatingLocation()
var curLoc:CLLocation!
curLoc = manager.location
mapView.delegate = self
if (isLocationPermissionGranted() == false){
MapView.setRegion(MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 52.406464, longitude: 16.924997), span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1)), animated: true)
}else
{
MapView.setRegion(MKCoordinateRegionMake(CLLocationCoordinate2DMake(curLoc.coordinate.latitude, curLoc.coordinate.longitude), MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1)), animated: true)
}
let getJSON = JSONDownload()
getJSON.JSONDownloader(MapView: MapView)
}
В блоке else у меня ошибка
Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании
Необязательное значение
Но в любом другом симуляторе или моем телефоне (iPhone 6s, iOS 11.4.1) показывается только
Не удалось вставить юридическую атрибуцию из угла 4
Об этом сообщении я тоже немного запутался, потому что, полагаю, у меня есть все варианты разрешений.
Мои разрешения:
в Info.plist
Конфиденциальность - Местоположение при использовании Описание использования
Конфиденциальность - Описание использования местоположения
В коде во ViewController
let manager = CLLocationManager()
Кроме того, у меня есть защита от локализованных ошибок:
func isLocationPermissionGranted() -> Bool{
guard CLLocationManager.locationServicesEnabled() else{
return false
}
return [.authorizedAlways, .authorizedWhenInUse].contains(CLLocationManager.authorizationStatus())
}
Есть ли шанс исправить это? :)
Спасибо за ответ! :)