2012-04-19 10 views

Respuesta

125

No es posible exactamente de la misma manera que con el simulador, pero hay una buena manera de lograr el mismo efecto utilizando lldb.

utilizar el depurador para hacer una pausa en la ejecución de código, a continuación, introduzca el comando:

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

en el depurador.

Gracias a this link por la solución.

+13

vale la pena señalar que este se puede simplificar a '[SETSPEED self.window.layer: .1f];' si se utiliza en tiempo de ejecución del delegado de la aplicación '-appli cation: didFinishLaunching ...: 'método. (Suponiendo que todavía está usando la propiedad 'window' que la plantilla de delegado de la aplicación le proporciona de manera predeterminada, por supuesto.) –

+2

Excelente respuesta, esto es incluso mejor que el Simulator, tenía mucha animación ejecutándose al mismo tiempo, 0.1F todavía es demasiado rápido para mí, así que lo configuré en 0.02F. Y ahora puedo ver dónde está el error. : D: D: D THANX A LOOOOOOT – MQoder

+1

Esto se puede simplificar en lldb a solo 'expr - [(UIApplication *) UIApp keyWindow] .layer.speed = 0.1f' –

13

Para Swift Aplicaciones:

Halt su código con un punto crítico e introduzca el siguiente comando LLDB:

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


alternativa es obvio que puede también cambiar la velocidad en algún lugar de tu código. Por ejemplo, con una macro de preprocesador #if al iniciar la aplicación

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

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

No se olvide de establecer el símbolo DEBUG en el "Swift Compilador - Banderas personalizadas" sección "Otras banderas Swift" línea. Agrega el símbolo DEBUG con una entrada -DDEBUG.

9

En Swift 3:

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

O, si estás en cualquier lugar en su AppDelegate y sólo se utiliza una ventana, usted puede hacer esto:

window?.layer.speed = 0.1 
0

En Objective-C funciona bastante buena

self.window.layer.speed = .1f; 
Cuestiones relacionadas