Tipps und Tricks zum iOS-Simulator

In diesem kurzen Tipp werden einige der leistungsstarken Funktionen vorgestellt, die zum Testen und Debuggen von Apps mit Xcode und dem iOS-Simulator verfügbar sind.


Tipp 1: Gehen Sie mit benutzerdefinierten Coords überall hin

Seit Jahren hatten Entwickler Schwierigkeiten, CoreLocation-basierte Anwendungen im Simulator zu debuggen, da der Simulator keine Unterstützung für benutzerdefinierte Koordinaten bietet. Während Projekte wie der FTLocationSimulator eine große Hilfe waren, waren viele von uns noch um Android-Entwickler gebeten, die den Standort des Android-Simulators mithilfe der mitgelieferten DDMS-Tools problemlos festlegen konnten.

Zum Glück sind diese Tage des ruhigen Neides schon eine Weile vorbei. Mit der Veröffentlichung von Xcode 4.2 konnten iOS-Entwickler einen Standardstandort für mehrere Städte weltweit simulieren. Dieser Ansatz ist immer noch vorhanden und kann durch Auswahl von "Schema bearbeiten" ausgeführt werden:

Navigieren Sie dann zur Registerkarte "Optionen" des Popup-Fensters:

Neuere Versionen des iOS-Simulators haben es jedoch noch einfacher gemacht, den simulierten Standort zu ändern, und Sie können dies jetzt zur Laufzeit tun.

Nachdem Sie den Simulator gestartet haben, wählen Sie Debuggen> Speicherort erzeugt die folgenden Menüoptionen:

Wie Sie sehen, können Sie jetzt bequem über die Option "Benutzerdefinierte Position" Ihre eigenen Koordinaten festlegen:

Dies setzt natürlich voraus, dass Sie die genauen Koordinaten des Ortes kennen, den Sie simulieren möchten, und nicht nur die Adresse der Straße. Das Generieren von Breiten- und Längenkoordinaten aus einer Adresse wird als Geokodierung bezeichnet. Es gibt eine Reihe kostenloser Websites und iOS-Apps, die für Sie Koordinaten von einer Straßenadresse generieren. Die kostenlose iOS-App Geocode Something sowie die Website geocoder.us sind beide erwähnenswert. Mit diesem Geocoder-Mashup können Sie schnell und einfach Koordinaten aus Google Maps ziehen.

Der Simulator verfügt außerdem über eine Reihe vordefinierter Positionen und Pfade, die Sie zum Testen Ihrer eigenen Anwendungen verwenden können. Eine kurze Beschreibung von jedem ist unten angegeben.

Apple-Hauptquartier

Durch Auswahl von "Apple" aus dem Standort-Menü wird der aktuelle Standort auf Apple HQ in 1 Infinite Loop, Cupertino, CA, festgelegt. Für Benutzer früherer Xcode-Versionen ist dies der einzige vom Simulator ursprünglich unterstützte Speicherort.

Fahrt mit der Stadt

Wenn Sie die Option "City Bicycle Ride" auswählen, generiert das CoreLocation-Framework Koordinaten, die einem voreingestellten Pfad in der Nähe des Apple HQ folgen. Bei der Fahrradoption werden Aktualisierungen mit einer Geschwindigkeit von etwa 5 bis 7 Metern pro Sekunde durchgeführt.

City Run

Die Option "City Run" entspricht der Einstellung "City Bicycle Ride", mit der Ausnahme, dass Aktualisierungen mit einer Tracking-Geschwindigkeit von etwa 3 - 4 Metern pro Sekunde ausgeführt werden.

Autobahnfahrt

Die "Freeway Drive" -Option unterscheidet sich von den vorherigen beiden sowohl in der gefahrenen Strecke als auch in der Geschwindigkeit in Metern pro Sekunde. Der Weg verläuft entlang des Junipero Serra Freeway nördlich von Apple HQ und die Geschwindigkeit scheint im Allgemeinen zwischen 20 und 35 Metern pro Sekunde zu liegen.

Apple Stores

Theoretisch sollte diese Option Koordinaten erzeugen, die an Standorte des Apple Store gebunden sind. Mit dem iOS 6.0-Simulator und Xcode 4.5 scheint diese Option jedoch sehr fehlerhaft zu sein. Nach meiner Erfahrung bei diesem Test scheinen die Koordinaten immer bei etwa 33,7718 N, 112,9031 W zu beginnen, und steigen dann allmählich in den Nord- und Westwerten an, wodurch der aktuelle Standort auf einem diagogischen Pfad nach nirgendwo verschoben wird. Ich habe diesen Fehlerbericht als Fehlerbericht an Apple übermittelt. Wenn andere also das gleiche Problem haben, wird es hoffentlich bald behoben!

Da die Apple Maps-App im Simulator ausgeführt werden kann, ist das Testen der oben genannten Optionen einfach. Starten Sie einfach den iOS-Simulator wie gewohnt, legen Sie den simulierten Standort fest und starten Sie dann die Anwendung "Karten".

Mit dem iOS 6-SDK können Sie jetzt Anwendungen ausführen, die Maps direkt im Simulator verwenden!


Tipp 2: Biegezeit mit Zeitlupe

Eine weitere großartige Funktion des iOS-Simulators ist die Möglichkeit, Animationen in Zeitlupe mit zu platzieren Debuggen> Langsame Animationen aktivieren / deaktivieren Menüoption.

Dies kann sehr hilfreich sein, wenn Sie eine benutzerdefinierte UIKit-Animation erstellen und sicherstellen möchten, dass jeder Frame genau richtig aussieht.

Eine praktischere Anwendung dieser Funktion ist möglicherweise die Verlangsamung der Animationen, die beim Drehen des Geräts auftreten, um die Animationen für die Orientierungsänderung zu polieren (weitere Informationen dazu, wie Sie Orientierungsanimationen polieren können, finden Sie in Sitzung 517 von WWDC 2012)..


Tipp 3: Dynamisch farbige Ansichten

Das Debuggen Die Menüoption bietet auch die unglaublich nützliche Möglichkeit, Ansichten in Echtzeit zu färben:

Mit diesen Optionen können Sie vermischte Ebenen, kopierte Bilder, falsch ausgerichtete Bilder und außerhalb des Bildschirms gerenderte Ansichten visuell erkennen.

Dies ist eine hilfreiche Funktion zum Debuggen Ihrer eigenen Anwendungen und kann auch für die Untersuchung der Standardanwendungen auf dem Simulator hilfreich sein. Der folgende Screenshot zeigt die Maps-App und die Sparbuch-App, wobei die Option "Farbmischungsebenen" ausgewählt ist:


Tipp 4: Simulieren Sie Hardware- / Software-Ereignisse

Während nichts die Erfahrung des Testens von Anwendungen auf realer Hardware ersetzen wird, hat der Simulator in den letzten Jahren mit der realen Ereignisemulation einen großen Weg zurückgelegt. In der Tat sind einige Ereignisse, z. B. das Umschalten einer Statusleiste während des Anrufs oder das Generieren von Speicherwarnungen, im Simulator wahrscheinlich einfacher zu debuggen als mit einem tatsächlichen Gerät.


SIMULIERTER SPERRBILDSCHIRM

Ein Blick auf die Hardware Das Menü zeigt die folgenden Ereignisoptionen:

  • Nach links drehen
  • Drehe nach rechts
  • Geste schütteln
  • Home-Taste drücken
  • Bildschirm sperren Drücken Sie
  • Simulieren Sie die Speicherwarnung
  • Statusanzeige während eines Anrufs umschalten
  • Hardware-Tastatur simulieren
  • TV-Ausgang

Die meisten davon sind selbsterklärend, einige verdienen jedoch eine weitere Anmerkung.

Die Option "Hardware-Tastatur simulieren" dient hauptsächlich zum Debuggen von iPad-Anwendungen, bei denen der Benutzer wahrscheinlich eine physische Tastatur über Bluetooth oder den Dock-Anschluss angeschlossen hat. Das Testen mit der Hardwaretastaturoption sollte ein wichtiger Bestandteil des Beta-Tests der iPad-App sein.

Mit der Option "TV-Ausgang" können Sie VGA / HDMI-Verbindungen simulieren, indem Sie ein neues Fenster erstellen, das eine Auflösung von 640x480 oder 1920x1080 (d. H. 1080p) haben kann..


Tipp 5: Hinzufügen von Simulatorfotos

Die einfachste Möglichkeit, Fotos zum iOS-Simulator hinzuzufügen, besteht darin, sie einfach einzeln aus dem OS X Finder-Fenster in das Simulator-Fenster zu ziehen und dort abzulegen.

Wenn Sie jedoch viele verschiedene Fotos zum Testen hinzufügen müssen, wird dieser Prozess schnell ineffizient. Wenn Sie viele Bilder gleichzeitig hinzufügen möchten, können Sie eine einfache iOS-Anwendung erstellen, die Ihre Fotoliste durchläuft und jedes Bild mit der Fotobibliothek hinzufügt UIImageWriteToSavedPhotosAlbum Funktion. Sehen Sie sich Schritt 6 in meinem Tutorial Fotoanwendung mit GPUImage erstellen an.

Ein anderer Ansatz wäre das direkte Hinzufügen der Bilddateien zum Simulator-Dateisystem, aber die Schritte, die dies erreichen, scheinen sich mit jeder neuen Version von iOS zu ändern. Der Bau eines eigenen Importeurs kann langfristig ein verlässlicherer Ansatz sein (einen besseren Weg kennen, um dies zu erreichen? Hinterlasse einen Kommentar!).


Bonus: Laden Sie die 5.0 / 5.1-Simulatoren herunter

Für meine eigenen iOS-Anwendungen versuche ich immer, sowohl die aktuelle Version von iOS als auch eine frühere Version bereitzustellen. Xcode enthält jedoch standardmäßig nur einen Simulator für die aktuelle iOS-Version. Glücklicherweise gibt es eine einfache Methode, um den Simulator auch für die vorherige iOS-Version zu erhalten.

Bei geöffnetem Xcode auswählen Xcode> Voreinstellungen Klicken Sie in der Menüleiste auf die Registerkarte "Downloads". Von hier aus haben Sie die Möglichkeit, ältere iOS-Simulatoren sowie das Befehlszeilentools-Paket zu installieren. Ich empfehle die Installation aller drei Optionen:

Nach Abschluss der Installation können Sie beim Erstellen und Ausführen Ihrer Anwendungen die 5.0 / 5.1-iOS-Simulatoren auswählen.


Wie verwenden Sie den Simulator??

Welche Tipps oder Tricks haben Sie für die Arbeit mit dem iOS-Simulator? Hinterlassen Sie Ihr Feedback in den Kommentaren!