Sto usando XCode v7.2.1, Simulator v9.2.Il mio semplice progetto di mappa non ottiene e mostra la mia posizione nel simulatore
Ho un UIViewController, che mostra una mappa & dovrebbe ottenere la mia posizione & vederlo sulla mappa:
import UIKit
import MapKit
class LocationVC: UIViewController, MKMapViewDelegate {
@IBOutlet weak var map: MKMapView!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
map.delegate = self
}
override func viewDidAppear(animated: Bool) {
if CLLocationManager.authorizationStatus() == .AuthorizedWhenInUse {
map.showsUserLocation = true
} else {
locationManager.requestWhenInUseAuthorization()
}
}
}
ho aggiunto il NSLocationWhenInUseUsageDescription
in info.plist come illustrato di seguito:
Ho anche selezionato il Debug -> Posizione -> Posizione personalizzata ... e impostare la longitudine & latitudine di Helsinki, Finlandia come illustrato di seguito:
Quando eseguo la mia applicazione, la mappa viene mostrata, tuttavia non ottiene la mia posizione. Perché? (Voglio dire, non vedo il punto blu in nessuna parte della mappa).
===== ==== UPDATE
Ho anche provato quando la mia applicazione è in esecuzione, ma non aiuta neanche.
È necessario impostare 'showsUserLocation = true' in ogni caso, non dalla condizione – Azat
voglio chiedere il permesso dell'utente prima poi mostrare posizione. Comunque, non c'è niente di sbagliato nel mio codice condizionale. –
Considera la seguente situazione: l'utente apre il controller, accetta di utilizzare la posizione, esegue 'requestWhenInUseAuthorization()' ma dopo non succede nulla, non c'è più codice per mostrare la posizione sulla mappa così l'utente vedrà il punto blu solo la prossima volta che apre questo controller – Azat