Come posso impostare la posizione (come viene prelevata nei servizi di CoreLocation) in iPhone Simulator?Impostare la posizione in iPhone Simulator
risposta
Nel mio callback delegato, controllo se sono in esecuzione in un simulatore (#if TARGET_ IPHONE_SIMULATOR
) e, in tal caso, fornisco il mio, pre-cercato, Lat/Long. Per quanto ne so, non c'è altro modo.
A partire da Xcode 4.2, ora c'è un modo nel menu 'Debug' del simulatore usando la voce' Location' che consente di impostare una posizione personalizzata o selezionare da alcune attrazioni e posizioni predefinite. – progrmr
Meglio tardi che mai :)
Ho appena imbattuto in questo iSimulate, che consente di inviare posizione falsi per l'applicazione. La soluzione NON è gratuita.
> Q: How does iSimulate work?
> A: When added to your project, the iSimulate
> SDK library creates a listening server
> on your iPhone Simulator that waits
> for a connection from an iPhone/iPod
> running the iSimulate client. When
> such connection is established, the
> iSimulate client running on your
> iPhone/iPod captures all data from the
> accelerometer sensor, the touch
> events, the location and device ID and
> streams them to the server. The
> iSimulate SDK library then recreates
> all input events synthetically. This
> is entirely transparent to your
> application and does not interfere
> with your application's functionality.
In ogni caso, ho intenzione di ottenere questo. aggiornerà più presto!
Ho appena contattato gli sviluppatori: "Nelle Opzioni di iSimulate, accessibile dal pulsante in alto a destra nella schermata" Seleziona computer da connettere a ", puoi selezionare una delle altre quattro posizioni da utilizzare." Quindi, non molto aiuto davvero. –
https://bitbucket.org/gnucoop/xamarin-ios-simulator-enhancements Questo aiuta a simulare le posizioni gratuitamente – Pierre
Dove si desidera impostare la posizione? puoi usare mapkit api per mostrarti la posizione. vedi icodeblog.com per maggiori dettagli su come usare mapkit. Inoltre è possibile memorizzare le coordinate desiderate solo creando una posizione CLLocation2D * dell'oggetto; location.longitude = il valore di longitudine desiderato; location.latitude = il valore di latitudine desiderato;
Questa era una vecchia domanda da quando ero nuovo sull'SDK. Ora mi rendo conto che non vi è alcun supporto per l'automazione di CoreLocation nel simulatore, il che è un peccato. – Cliff
I tipi gentili di FutureTap hanno reso disponibile FTLocationSimulator a GitHub. Ti consente di preparare un percorso di prova utilizzando, ad esempio, Google Earth, e poi il simulatore feed queste coordinate alla tua app.
Ho scritto un blog post su come utilizzare FTLocationSimulator per passare facilmente da più percorsi durante il test delle funzioni di posizione.
è possibile aggiungere file GPX per il vostro progetto e usarlo:
Modifica schema> Opzioni> permettere la simulazione posizione> scegliere il nome del file che contiene ad esempio:
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="41.92296" lon="-87.63892"></wpt>
</gpx>
opzionalmente solo hardcode il lat/lon valori che vengono restituiti dal responsabile della posizione. Questo è però vecchio stile.
in modo da non aggiungerlo al simulatore, ma al progetto Xcode.
Come posso usare la posizione predefinita. puoi spiegarmi in dettaglio ???Voglio saperlo. –
Progetto> Schemi> Modifica schema> Posizione principale ... – Raptor
fare clic su xcode quindi prodotto> schemi> Modifica schema> posizione principale –
A partire da iOS 5, il simulatore ha una posizione configurabile.
Nel menu Debug, l'ultima voce è "Posizione"; questo ti dà un sottomenu con:
- Nessuno
- posizione personalizzata
- Apple Store
- di Apple
- Città biciclette giro
- City Run
- Freeway Unità
Posizione personalizzata consente y Inserisci un valore Lat/Long. La corsa in bicicletta, City Run e Freeway Drive sono la simulazione di un luogo in movimento (a Cupertino, ovviamente).
Naturalmente, questo non fa nulla per il debugging per iOS 4 (o precedente); ma è un deciso miglioramento!
dove si trova il menu di debug nel simulatore IOS? –
Pre iOS 5 si potesse fare in codice:
Io uso questo frammento poco prima della @implementation
della classe in cui ho bisogno dei miei falsi dati di prua e di localizzazione.
#if (TARGET_IPHONE_SIMULATOR)
@interface MyHeading : CLHeading
-(CLLocationDirection) magneticHeading;
-(CLLocationDirection) trueHeading;
@end
@implementation MyHeading
-(CLLocationDirection) magneticHeading { return 90; }
-(CLLocationDirection) trueHeading { return 91; }
@end
@implementation CLLocationManager (TemporaryLocationFix)
- (void)locationFix {
CLLocation *location = [[CLLocation alloc] initWithLatitude:55.932 longitude:12.321];
[[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];
id heading = [[MyHeading alloc] init];
[[self delegate] locationManager:self didUpdateHeading: heading];
}
-(void)startUpdatingHeading {
[self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1];
}
- (void)startUpdatingLocation {
[self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1];
}
@end
#endif
Dopo iOS 5 è sufficiente includere un file GPX nel progetto come questo per avere la posizione aggiornata continuamente Hillerød.gpx:
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="55.93619760" lon="12.29131930"></wpt>
<wpt lat="55.93625770" lon="12.29108330"></wpt>
<wpt lat="55.93631780" lon="12.29078290"></wpt>
<wpt lat="55.93642600" lon="12.29041810"></wpt>
<wpt lat="55.93653420" lon="12.28998890"></wpt>
<wpt lat="55.93660630" lon="12.28966710"></wpt>
<wpt lat="55.93670240" lon="12.28936670"></wpt>
<wpt lat="55.93677450" lon="12.28921650"></wpt>
<wpt lat="55.93709900" lon="12.28945250"></wpt>
<wpt lat="55.93747160" lon="12.28949540"></wpt>
<wpt lat="55.93770000" lon="12.28966710"></wpt>
<wpt lat="55.93785620" lon="12.28977440"></wpt>
<wpt lat="55.93809660" lon="12.28988170"></wpt>
<wpt lat="55.93832490" lon="12.28994600"></wpt>
<wpt lat="55.93845710" lon="12.28996750"></wpt>
<wpt lat="55.93856530" lon="12.29007480"></wpt>
<wpt lat="55.93872150" lon="12.29013910"></wpt>
<wpt lat="55.93886570" lon="12.28975290"></wpt>
<wpt lat="55.93898590" lon="12.28955980"></wpt>
<wpt lat="55.93910610" lon="12.28919500"></wpt>
<wpt lat="55.93861330" lon="12.28883020"></wpt>
<wpt lat="55.93845710" lon="12.28868000"></wpt>
<wpt lat="55.93827680" lon="12.28850840"></wpt>
<wpt lat="55.93809660" lon="12.28842250"></wpt>
<wpt lat="55.93796440" lon="12.28831520"></wpt>
<wpt lat="55.93780810" lon="12.28810070"></wpt>
<wpt lat="55.93755570" lon="12.28790760"></wpt>
<wpt lat="55.93739950" lon="12.28775730"></wpt>
<wpt lat="55.93726730" lon="12.28767150"></wpt>
<wpt lat="55.93707500" lon="12.28760710"></wpt>
<wpt lat="55.93690670" lon="12.28734970"></wpt>
<wpt lat="55.93675050" lon="12.28726380"></wpt>
<wpt lat="55.93649810" lon="12.28713510"></wpt>
<wpt lat="55.93625770" lon="12.28687760"></wpt>
<wpt lat="55.93596930" lon="12.28679180"></wpt>
<wpt lat="55.93587310" lon="12.28719940"></wpt>
<wpt lat="55.93575290" lon="12.28752130"></wpt>
<wpt lat="55.93564480" lon="12.28797190"></wpt>
<wpt lat="55.93554860" lon="12.28833670"></wpt>
<wpt lat="55.93550050" lon="12.28868000"></wpt>
<wpt lat="55.93535630" lon="12.28900190"></wpt>
<wpt lat="55.93515200" lon="12.28936670"></wpt>
<wpt lat="55.93505580" lon="12.28958120"></wpt>
<wpt lat="55.93481550" lon="12.29001040"></wpt>
<wpt lat="55.93468320" lon="12.29033230"></wpt>
<wpt lat="55.93452700" lon="12.29063270"></wpt>
<wpt lat="55.93438280" lon="12.29095450"></wpt>
<wpt lat="55.93425050" lon="12.29121200"></wpt>
<wpt lat="55.93413040" lon="12.29140520"></wpt>
<wpt lat="55.93401020" lon="12.29168410"></wpt>
<wpt lat="55.93389000" lon="12.29189870"></wpt>
<wpt lat="55.93372170" lon="12.29239220"></wpt>
<wpt lat="55.93385390" lon="12.29258530"></wpt>
<wpt lat="55.93409430" lon="12.29295010"></wpt>
<wpt lat="55.93421450" lon="12.29320760"></wpt>
<wpt lat="55.93433470" lon="12.29333630"></wpt>
<wpt lat="55.93445490" lon="12.29350800"></wpt>
<wpt lat="55.93463520" lon="12.29374400"></wpt>
<wpt lat="55.93479140" lon="12.29410880"></wpt>
<wpt lat="55.93491160" lon="12.29419460"></wpt>
<wpt lat="55.93515200" lon="12.29458090"></wpt>
<wpt lat="55.93545250" lon="12.29494570"></wpt>
<wpt lat="55.93571690" lon="12.29505300"></wpt>
<wpt lat="55.93593320" lon="12.29513880"></wpt>
<wpt lat="55.93617360" lon="12.29522460"></wpt>
<wpt lat="55.93622170" lon="12.29537480"></wpt>
<wpt lat="55.93713510" lon="12.29505300"></wpt>
<wpt lat="55.93776000" lon="12.29378700"></wpt>
<wpt lat="55.93904600" lon="12.29531040"></wpt>
<wpt lat="55.94004350" lon="12.29552500"></wpt>
<wpt lat="55.94023570" lon="12.29561090"></wpt>
<wpt lat="55.94019970" lon="12.29591130"></wpt>
<wpt lat="55.94017560" lon="12.29629750"></wpt>
<wpt lat="55.94017560" lon="12.29670520"></wpt>
<wpt lat="55.94017560" lon="12.29713430"></wpt>
<wpt lat="55.94019970" lon="12.29754200"></wpt>
<wpt lat="55.94024780" lon="12.29816430"></wpt>
<wpt lat="55.94051210" lon="12.29842180"></wpt>
<wpt lat="55.94084860" lon="12.29820720"></wpt>
<wpt lat="55.94105290" lon="12.29799270"></wpt>
<wpt lat="55.94123320" lon="12.29777810"></wpt>
<wpt lat="55.94140140" lon="12.29749910"></wpt>
<wpt lat="55.94142550" lon="12.29726310"></wpt>
<wpt lat="55.94147350" lon="12.29687690"></wpt>
<wpt lat="55.94155760" lon="12.29619020"></wpt>
<wpt lat="55.94161770" lon="12.29576110"></wpt>
<wpt lat="55.94148550" lon="12.29531040"></wpt>
<wpt lat="55.94093270" lon="12.29522460"></wpt>
<wpt lat="55.94041600" lon="12.29518170"></wpt>
<wpt lat="55.94056020" lon="12.29398010"></wpt>
<wpt lat="55.94024780" lon="12.29352950"></wpt>
<wpt lat="55.94001940" lon="12.29335780"></wpt>
<wpt lat="55.93992330" lon="12.29325050"></wpt>
<wpt lat="55.93969490" lon="12.29299300"></wpt>
<wpt lat="55.93952670" lon="12.29277840"></wpt>
<wpt lat="55.93928630" lon="12.29260680"></wpt>
<wpt lat="55.93915410" lon="12.29232780"></wpt>
<wpt lat="55.93928630" lon="12.29202740"></wpt>
<wpt lat="55.93933440" lon="12.29174850"></wpt>
<wpt lat="55.93947860" lon="12.29116910"></wpt>
<wpt lat="55.93965890" lon="12.29095450"></wpt>
<wpt lat="55.94001940" lon="12.29061120"></wpt>
<wpt lat="55.94041600" lon="12.29084730"></wpt>
<wpt lat="55.94076450" lon="12.29101890"></wpt>
<wpt lat="55.94080060" lon="12.29065410"></wpt>
<wpt lat="55.94086060" lon="12.29031080"></wpt>
<wpt lat="55.94092070" lon="12.28990310"></wpt>
<wpt lat="55.94099280" lon="12.28975290"></wpt>
<wpt lat="55.94119710" lon="12.28986020"></wpt>
<wpt lat="55.94134130" lon="12.28998890"></wpt>
<wpt lat="55.94147350" lon="12.29007480"></wpt>
<wpt lat="55.94166580" lon="12.29003190"></wpt>
<wpt lat="55.94176190" lon="12.28938810"></wpt>
<wpt lat="55.94183400" lon="12.28893750"></wpt>
<wpt lat="55.94194220" lon="12.28850840"></wpt>
<wpt lat="55.94199030" lon="12.28835820"></wpt>
<wpt lat="55.94215850" lon="12.28859420"></wpt>
<wpt lat="55.94250700" lon="12.28883020"></wpt>
<wpt lat="55.94267520" lon="12.28893750"></wpt>
<wpt lat="55.94284350" lon="12.28902330"></wpt>
<wpt lat="55.94304770" lon="12.28915210"></wpt>
<wpt lat="55.94325200" lon="12.28925940"></wpt>
<wpt lat="55.94348030" lon="12.28953830"></wpt>
<wpt lat="55.94366060" lon="12.28966710"></wpt>
<wpt lat="55.94388890" lon="12.28975290"></wpt>
<wpt lat="55.94399700" lon="12.28994600"></wpt>
<wpt lat="55.94379280" lon="12.29065410"></wpt>
<wpt lat="55.94364860" lon="12.29095450"></wpt>
<wpt lat="55.94350440" lon="12.29127640"></wpt>
<wpt lat="55.94340820" lon="12.29155540"></wpt>
<wpt lat="55.94331210" lon="12.29198450"></wpt>
<wpt lat="55.94315590" lon="12.29269260"></wpt>
<wpt lat="55.94310780" lon="12.29318610"></wpt>
<wpt lat="55.94301170" lon="12.29361530"></wpt>
<wpt lat="55.94292760" lon="12.29408740"></wpt>
<wpt lat="55.94290350" lon="12.29436630"></wpt>
<wpt lat="55.94287950" lon="12.29453800"></wpt>
<wpt lat="55.94283140" lon="12.29533190"></wpt>
<wpt lat="55.94274730" lon="12.29606150"></wpt>
<wpt lat="55.94278340" lon="12.29621170"></wpt>
<wpt lat="55.94280740" lon="12.29649060"></wpt>
<wpt lat="55.94284350" lon="12.29679100"></wpt>
<wpt lat="55.94284350" lon="12.29734890"></wpt>
<wpt lat="55.94308380" lon="12.29837890"></wpt>
<wpt lat="55.94315590" lon="12.29852910"></wpt>
<wpt lat="55.94263920" lon="12.29906550"></wpt>
<wpt lat="55.94237480" lon="12.29910850"></wpt>
<wpt lat="55.94220660" lon="12.29915140"></wpt>
<wpt lat="55.94208640" lon="12.29902260"></wpt>
<wpt lat="55.94196620" lon="12.29887240"></wpt>
<wpt lat="55.94176190" lon="12.29794970"></wpt>
<wpt lat="55.94156970" lon="12.29760640"></wpt>
</gpx>
Io uso GPSies.com per creare il file di base per i dati GPX. Tuttavia, è necessario un po 'di pulizia.
Attivare eseguendo il simulatore e scegliendo il file
- progetto Run in iPhone Simulator
Creare in file di TextEdit file seguente, lo chiamano MyOffice per esempio. Fare estensione come .gpx
<?xml version="1.0"?> <gpx version="1.0" creator="MyName"> <wpt lat="53.936166" lon="27.565370"> <name>MyOffice</name> </wpt> </gpx>
Selezionare in Xcode presso l'area Simula
Add GPX File to Project...
- Aggiungi file dal menù creato per proiettare.
- Ora è possibile visualizzare la propria posizione in zona Simula:
TextEdit non salva il file .gpx. Come faccio? –
salvalo come .txt (o .xml) e quindi rinomina in .gpx – beryllium
Grazie! Molto facile, funziona alla grande. Nel caso in cui qualcun altro usi questo heres il file GPX di esempio nel testo in modo da poterlo copiare e incollare: Xml version = "1.0"?>
Aperto simulatore iOS da Debug Menu -> Localizzazione ->
- Nessuno
- posizione personalizzata
- Apple Store ...
in Simulatore iOS m enu, vai a Debug -> Posizione -> Posizione personalizzata. Qui puoi impostare la latitudine e la longitudine e testare l'app di conseguenza. Funziona con mapkit e anche con CLLocationManager.
- 1. Posizione iOS Simulator non funzionante
- 2. Simulazione degli aggiornamenti di posizione su iPhone Simulator
- 3. Simula la modalità aereo in iPhone Simulator
- 4. posizione corrente nella Simulator
- 5. AppStore in iPhone Simulator Xcode
- 6. Impossibile avviare iPhone Simulator
- 7. Big iPhone 5 Simulator?
- 8. C'è un modo per impostare la quantità di memoria disponibile in iPhone Simulator?
- 9. Più istanze di iPhone Simulator?
- 10. L'icona dell'app non cambierà in iPhone Simulator
- 11. Come impostare l'orientamento predefinito in iOS Simulator
- 12. Come installare applicazioni per iPhone in iPhone Simulator
- 13. Impostare la posizione del mouse
- 14. Automatizza le schermate su iPhone Simulator?
- 15. Direttiva del compilatore MonoTouch per iPhone Simulator
- 16. Differenza tra iPhone Simulator ed Emulatore Android
- 17. Dove iPhone Simulator memorizza le applicazioni installate?
- 18. iOS4 - Audio di sottofondo con iPhone Simulator
- 19. Xcode iphone simulator not running Retina?
- 20. Xcode 4.3 e iPhone Simulator 4.2
- 21. Come inviare video su iPhone Simulator?
- 22. Come impostare la posizione del cursore in UITextView
- 23. Pulsante posizione iPhone
- 24. Costruisci libreria statica in XCode 4 per iPhone Simulator
- 25. Bug in iPhone Simulator 5.1 con Xcode 4.5 usando UIManagedDocument
- 26. Come impostare la posizione della cache gradle?
- 27. Impostare la posizione assoluta di una vista
- 28. Impossibile impostare la posizione di un contextmenustrip?
- 29. Impostare la posizione del div trascinabile
ho aggiunto un metodo per Xcode 6. http://stackoverflow.com/questions/19694205/customize-ios-simulator-preset-locations-to-fake-as-current-location/27299841#27299841 – Ohmy
Qualcuno è riuscito a far funzionare questo in React nativo, simulatore? – Nikos