Wie kann ich den Standort (wie er in den CoreLocation-Diensten erfasst wird) im iPhone Simulator festlegen?
123
Wie kann ich den Standort (wie er in den CoreLocation-Diensten erfasst wird) im iPhone Simulator festlegen?
Antworten:
Ab iOS 5 verfügt der Simulator über einen konfigurierbaren Speicherort.
Im Debug-Menü lautet der letzte Eintrag "Location". Dies gibt Ihnen ein Untermenü mit:
Mit Benutzerdefinierter Speicherort können Sie einen Lat / Long-Wert eingeben. Radtour, City Run und Freeway Drive simulieren einen sich bewegenden Ort (natürlich in Cupertino).
Dies hilft natürlich nicht beim Debuggen für iOS 4 (oder früher). aber es ist definitiv eine Verbesserung!
quelle
Erstellen Sie in der TextEdit-Datei die folgende Datei, nennen Sie sie beispielsweise MyOffice. Machen Sie die Erweiterung als .gpx
<?xml version="1.0"?> <gpx version="1.0" creator="MyName"> <wpt lat="53.936166" lon="27.565370"> <name>MyOffice</name> </wpt> </gpx>
Wählen Sie in Xcode im Bereich Simulieren
Add GPX File to Project...
quelle
In meinem Delegaten-Rückruf überprüfe ich, ob ich in einem Simulator (
#if TARGET_ IPHONE_SIMULATOR
) ausgeführt werde, und wenn ja, gebe ich mein eigenes, vorab nachgeschlagenes Lat / Long an. Meines Wissens gibt es keinen anderen Weg.quelle
Debug
Menü des Simulators, denLocation
Eintrag zu verwenden, mit dem Sie einen benutzerdefinierten Standort festlegen oder aus vordefinierten Fahrten und Standorten auswählen können.Gehen Sie im iOS Simulator-Menü zu Debug -> Speicherort -> Benutzerdefinierter Speicherort. Dort können Sie den Breiten- und Längengrad einstellen und die App entsprechend testen. Dies funktioniert mit Mapkit und auch mit CLLocationManager.
quelle
XCode 11.3 und früher:
Debug -> Location -> Custom Location
XCode 11.4+:
Features -> Location -> Custom Location
quelle
Vor iOS 5 können Sie dies im Code tun:
Ich benutze dieses Snippet kurz vor dem
@implementation
der Klasse, in der ich meine gefälschten Kurs- und Standortdaten benötige.Fügen Sie nach iOS 5 einfach eine GPX-Datei wie folgt in Ihr Projekt ein, damit der Speicherort kontinuierlich aktualisiert wird. Hillerød.gpx:
Ich benutze GPSies.com , um die Basisdatei für die GPX-Daten zu erstellen. Ein bisschen Aufräumen ist jedoch erforderlich.
Aktivieren Sie diese Option, indem Sie den Simulator ausführen und Ihre Datei auswählen
(Quelle: castleandersen.dk )
quelle
Öffnen Sie die iOS Simulator-Anwendung über das Debug-Menü -> Speicherort ->
quelle
Sie können ganz einfach teilen jede gewünschte Position aus der macOS Maps - Anwendung auf den Xcode - Simulator .
Auf diese Weise können Sie einige Standorte schnell testen, wissen, wo sich der Standort geografisch befindet (z. B. zum Testen von Geofencing) und zur Laufzeit entscheiden, wohin Sie als Nächstes gehen möchten (z. B. zum Debuggen und zur Feinabstimmung).
Getestet unter MacOS Catalina 10.15.4 und Xcode 11.4.
quelle
Die freundlichen Leute bei FutureTap haben den FTLocationSimulator kostenlos bei GitHub zur Verfügung gestellt . Sie können eine Testroute beispielsweise mit Google Earth vorbereiten und diese Koordinaten dann vom Simulator Ihrer App zuführen lassen.
Ich habe einen Blog-Beitrag darüber geschrieben, wie Sie mit FTLocationSimulator beim Testen der Standortfunktionen einfach zwischen mehreren Routen wechseln können.
quelle
Sie können Ihrem Projekt GPX-Dateien hinzufügen und diese verwenden:
Schema bearbeiten> Optionen> Standortsimulation zulassen> Dateinamen auswählen, der beispielsweise Folgendes enthält:
Optional können Sie nur die vom Standortmanager zurückgegebenen Lat / Lon-Werte fest codieren. Dies ist jedoch ein alter Stil.
Sie werden es also nicht zum Simulator hinzufügen, sondern zu Ihrem Xcode-Projekt.
quelle
Zum Zeitpunkt des Schreibens wurde die Standortoption für den IOS-Simulator in Features -> Standort -> Benutzerdefinierter Standort verschoben
quelle
Besser spät als nie :)
Ich bin gerade auf dieses iSimulate gestoßen , mit dem Sie einen falschen Standort an die App senden können. Die Lösung ist NICHT kostenlos.
Wie auch immer, ich plane das zu bekommen. wird bald mehr aktualisieren!
quelle
Wo möchten Sie Ihren Standort festlegen? Sie können Mapkit API verwenden, um Ihre Standorte anzuzeigen. Weitere Informationen zur Verwendung von Mapkit finden Sie unter icodeblog.com. Sie können auch Ihre gewünschten Koordinaten speichern, indem Sie einfach ein Objekt CLLocation2D * erstellen. location.longitude = Ihr gewünschter Längengradwert; location.latitude = Ihr gewünschter Breitengradwert;
quelle