web-dev-qa-db-ger.com

Schalten Sie langsame Animationen während des Debugging mit iOS-Geräten um

Ich verwende xCode 4.3.1 und muss die Option verwenden, die der iOS-Simulator hat => Debuggen -> Langsame Animation umschalten, aber beim Debuggen mit dem iOS-Gerät.

Ist es möglich?

50
fabregas88

Es ist nicht genauso möglich wie beim Simulator, aber es ist ein guter Weg, um den gleichen Effekt mit lldb zu erzielen.

Verwenden Sie den Debugger, um die Codeausführung anzuhalten, und geben Sie den Befehl ein:

p [(CALayer *)[[[[UIApplication sharedApplication] windows] objectAtIndex:0] layer] setSpeed:.1f]

in den Debugger.

Danke an diesen Link für die Lösung.

142
Tim Camber

In Swift 3:

UIApplication.shared.windows.first?.layer.speed = 0.1

Wenn Sie sich in AppDelegate befinden und nur ein Fenster verwenden, können Sie Folgendes tun:

window?.layer.speed = 0.1
16
JAL

Für Swift Apps:

Halten Sie Ihren Code mit einem Haltepunkt an und geben Sie den folgenden lldb-Befehl ein:

(lldb)p UIApplication.sharedApplication().windows.first?.layer.speed = 0.1


Alternativ können Sie natürlich auch die Geschwindigkeit irgendwo in Ihrem Code ändern. Zum Beispiel mit einem Präprozessor-Makro #if Beim Start der Anwendung

func application(application: UIApplication,
   didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{
    ...

    #if DEBUG
        application.windows.first?.layer.speed = 0.1
    #endif

Vergessen Sie nicht, das Symbol DEBUG im Abschnitt "Swift Compiler - Custom Flags" in der Zeile "Other Swift Flags") zu setzen. Sie fügen das Symbol DEBUG hinzu. Symbol mit einem -DDEBUG Eintrag.

15
dreamlab

In Objective-c funktioniert das ziemlich gut 

self.window.layer.speed = .1f;
0

Wenn Sie die App nur in einem View-Controller verlangsamen möchten, können Sie einen Haltepunkt konfigurieren, um die Ausführung nach Ausführung des Befehls fortzusetzen. Diesen Haltepunkt setzen Sie in viewDidAppear. Dann können Sie einen anderen "nicht stoppbaren" Haltepunkt setzen, um die Geschwindigkeit auf 1X umzukehren. Diesen anderen Haltepunkt setzen Sie in viewDidDisappear.

Sehr einfach. Kann in Ihrer Haltepunktliste deaktiviert bleiben und bei Bedarf problemlos wiederverwendet werden.

0
Mikael