2010-01-30 10 views

Antwort

102

Es gibt eine Reihe von gerätespezifischen Funktionen, die Sie auf dem Gerät testen müssen, aber es ist nicht schwieriger als die Verwendung des Simulators. Erstellen Sie einfach ein Debug-Ziel für das Gerät und lassen Sie es an den Computer angeschlossen.

Liste der Aktionen, die ein tatsächliches Gerät benötigen:

  • das eigentliche Telefon
  • die Kamera
  • das Beschleunigungsmesser
  • echte GPS-Daten
  • die Kompass
  • Vibration
  • Push-Benachrichtigungen ...

-t

+30

Das ist irgendwie saugt, was ist, wenn Sie auf einer früheren Version des Betriebssystems in Ihrem Deployment-Ziel testen müssen, denke, Sie würden dann geschraubt werden. – marchinram

+0

Downgrade? Aus diesem Grund enthält Xcode eine Wiederherstellung mit einem Klick. –

+2

Hier finden Sie Anweisungen zum Herunterstufen Ihres Geräts: http://www.iclarified.com/31004/how-to-downgrade-from-ios-7-beta-to-ios-6 – knagode

1

Nein (außer sie haben einen Weg hinzugefügt, es in 3.2 zu tun, noch nicht überprüft).

0

schrieb ich einen Ersatz Ansicht im Debug-Modus zu verwenden. Es implementiert dieselbe API und führt dieselben Delegatenrückrufe durch. In meinem Fall habe ich ein zufälliges Bild von meinem Test-Set zurückgegeben. Ziemlich trivial zu schreiben.

+66

Können Sie den Code teilen? :) – Tudorizer

+3

Und du könntest es machen, um ein Bild von der iSight Kamera zurück zu schicken :) –

1

Ein häufiger Grund für den Zugriff auf die Kamera ist das Erstellen von Screenshots für den AppStore.

Da die Kamera im Simulator nicht verfügbar ist, ist ein guter Trick (der einzige, den ich kenne), die Größe der Ansicht auf die Größe zu ändern, die Sie benötigen, nur die Zeit für die Screenshots. Sie werden sie später zuschneiden.

Sicher, Sie müssen das Gerät mit dem größeren Bildschirm verfügbar haben.

Das iPad ist perfekt, um Layouts zu testen und Snapshots für alle Geräte zu erstellen. Screenshots für iPhone6 ​​+ wird ein wenig gestreckt werden müssen (skaliert von 1,078125 - Keine große Sache ...)

gute Verbindung zu einem iOS-Geräte Auflösungen schnell ref: http://www.iosres.com/

+6

Oder benutze einfach Datei -> "Bildschirmfoto speichern" im iOS Simulator? ... – Cyrus

+0

Das ist der Punkt der Frage ... Es gibt keine Kamera im Simulator. – Moose

+0

Warum brauchen Sie eine Kamera, um Screenshots zu machen? – Raphael

6

Ich brauchte einige zu testen benutzerdefinierte Überlagerungen für Fotos. Die Überlagerungen mussten basierend auf der Größe/Auflösung des Bildes angepasst werden.

Ich näherte mich auf eine Weise, die dem Vorschlag von Stefan ähnlich war, ich entschied mich, eine "Dummy" -Kameraantwort zu kodieren.

Wenn der Simulator läuft, führe ich diesen Dummy-Code anstelle des Standards "captureStillImageAsynchronouslyFromConnection" aus.

In diesem Dummy-Code, ich baue ein "schwarzes Foto" der erforderlichen Auflösung und dann senden Sie es durch die Pipeline, um wie ein normales Foto behandelt werden. Im Wesentlichen das Gefühl einer sehr schnellen Kamera.

CGSize sz = UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation]) ? CGSizeMake(2448, 3264) : CGSizeMake(3264, 2448); 
UIGraphicsBeginImageContextWithOptions(sz, YES, 1); 
[[UIColor blackColor] setFill]; 
UIRectFill(CGRectMake(0, 0, sz.width, sz.height)); 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSData *imageData = UIImageJPEGRepresentation(image, 1.0); 

Das obige Bild entspricht einer 8MP-Fotos, die meisten der heutigen Geräte senden. Um andere Auflösungen zu testen, würden Sie natürlich die Größe ändern.

Verwandte Themen