web-dev-qa-db-fra.com

Basculer l'animation lente lors du débogage avec un périphérique iOS

J'utilise xCode 4.3.1 et je dois utiliser l'option fournie par le simulateur iOS => Debug -> Basculer l'animation lente, mais en déboguant avec le périphérique iOS.

C'est possible?

50
fabregas88

Ce n'est pas possible exactement de la même manière qu'avec le simulateur, mais il existe un bon moyen d'obtenir le même effet en utilisant lldb.

Utilisez le débogueur pour suspendre l'exécution du code, puis entrez la commande suivante:

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

dans le débogueur.

Merci à ce lien pour la solution.

142
Tim Camber

Dans Swift 3:

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

Ou, si vous êtes n'importe où dans votre AppDelegate et que vous utilisez une seule fenêtre, vous pouvez le faire:

window?.layer.speed = 0.1
16
JAL

Pour Swift Apps:

Arrêtez votre code avec un point d'arrêt et entrez la commande lldb suivante:

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


Alternativement, vous pouvez évidemment aussi changer la vitesse quelque part dans votre code. Par exemple, avec une macro de préprocesseur #if au lancement de l'application

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

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

N'oubliez pas de définir le symbole DEBUG dans la section "Compilateur Swift - Indicateurs personnalisés", ligne "Autres drapeaux Swift". Vous ajoutez le symbole DEBUG avec une entrée -DDEBUG.

15
dreamlab

En Objective-c fonctionne très bien 

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