Utilizzando MKMapRectMake per creare MKMapRect provoca la compilazione di errore come di seguito:MKMapRectMake a Swift causa errore di linker durante la compilazione
Questo è il mio codice:
var lat = 37.33072
var lon = -122.029674
var loc = CLLocationCoordinate2D(latitude: lat, longitude: lon)
var point = MKMapPointForCoordinate(loc)
var flyTo = MKMapRectMake(point.x, point.y, 0, 0);
e questo è l'errore del compilatore:
Undefined symbols for architecture i386:
"_MKMapPointMake", referenced from:
_MKMapRectMake in ViewController.o
"_MKMapSizeMake", referenced from:
_MKMapRectMake in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
La mia soluzione è creare MKMapRect utilizzando i parametri di origine e dimensione. Nota che ho aggiunto MKMapKit alle librerie collegate in Fasi di costruzione
C'è qualcuno che incontra lo stesso problema e come lo risolvi? coordinate
Assicurarsi che i parametri abbiano lo stesso tipo accettato dalla funzione. Devono essere valori "doppi". – CainaSouza
Sembra essere un bug nella versione beta corrente. Puoi provare la soluzione alternativa al bridge Objective-C/Swift mostrata in [questa risposta] (http://stackoverflow.com/questions/24128723/scnphysicsworld-error) come soluzione temporanea. In sostanza, esegui le chiamate di MKMapRect in Objective-C e chiama i tuoi metodi bridge da Swift. – Anna
Grazie. Questa potrebbe essere un'altra opzione da provare. – tala9999