web-dev-qa-db-fra.com

MapKit MobileBestalt.c: 1647: impossible de récupérer les informations de la région

J'utilise MapKit pour montrer deux annotations et une distance entre elles. Tout fonctionne bien mais je continue à obtenir cette erreur sur la console. MobileBestalt.c: 1647: Impossible de récupérer les informations de la région Tout le monde sait ce qui le causait? Pourrait-il être une certaine permission dans le .plist fichier

Voici la sortie de la console complète:

2019-11-10 00:21:41.419108+0100 Post DACH[20420:264466] Metal API Validation Enabled 2019-11-10 00:21:41.567416+0100 Post DACH[20420:264466] libMobileGestalt MobileGestalt.c:1647: Could not retrieve region info

Screenshot

Mon code:

struct MapView: UIViewRepresentable {
    var requestLocation: CLLocationCoordinate2D
    var destinationLocation: CLLocationCoordinate2D
    private let mapView = WrappableMapView()

    func makeUIView(context: UIViewRepresentableContext<MapView>) -> MKMapView {
        mapView.delegate = mapView
        return mapView
    }

    func updateUIView(_ uiView: MKMapView, context: UIViewRepresentableContext<MapView>) {
        let requestAnnotation = MKPointAnnotation()
        requestAnnotation.coordinate = requestLocation
        requestAnnotation.title = "Package"
        uiView.addAnnotation(requestAnnotation)

        let destinationAnnotation = MKPointAnnotation()
        destinationAnnotation.coordinate = destinationLocation
        destinationAnnotation.title = "Destiantion"
        uiView.addAnnotation(destinationAnnotation)

        let sourcePlacemark = MKPlacemark(coordinate: requestLocation)
        let destinationPlacemark = MKPlacemark(coordinate: destinationLocation)

        let directionRequest = MKDirections.Request()
        directionRequest.source = MKMapItem(placemark: sourcePlacemark)
        directionRequest.destination = MKMapItem(placemark: destinationPlacemark)
        directionRequest.transportType = .automobile

        let directions = MKDirections(request: directionRequest)

        directions.calculate { (response, error) in
            guard let directionResponse = response else {
                if let error = error {
                    print(error.localizedDescription)
                }
                return
            }

            let route = directionResponse.routes[0]
            uiView.addOverlay(route.polyline, level: .aboveRoads)
            let rect: MKMapRect = route.polyline.boundingMapRect

            uiView.setVisibleMapRect(rect, edgePadding: .init(top: 50.0, left: 50.0, bottom: 50.0, right: 50.0), animated: true)
        }

    }
}
8
Rexhin

J'ai couru dans le même problème aujourd'hui. Il semble que c'est un problème avec le simulateur. Essayez de l'exécuter dans votre appareil et cela devrait fonctionner.

2
MXV

Essayez ceci: allez au storyboard puis ouvrez la zone de structure.

Ensuite, vous faites glisser (avec CTRL) la carteView exactement sur le symbole ViewController (symbole jaune rond) et vous choisissez le délégué.

0
Eddi