it-swarm.com.ru

Переключение медленной анимации при отладке на устройстве iOS

Я использую xCode 4.3.1, и мне нужно использовать опцию, которая имеет симулятор iOS => Debug -> Toggle Slow Animation, но при отладке с помощью устройства iOS.

Является ли это возможным?

50
fabregas88

Это невозможно сделать точно так же, как с симулятором, но есть хороший способ добиться того же эффекта, используя lldb.

Используйте отладчик, чтобы приостановить выполнение кода, а затем введите команду:

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

в отладчик.

Спасибо эта ссылка за решение.

142
Tim Camber

В Swift 3:

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

Или, если вы находитесь где-то в вашем AppDelegate и используете только одно окно, вы можете сделать это:

window?.layer.speed = 0.1
16
JAL

Для Swift Приложения:

Остановите ваш код с точкой останова и введите следующую команду lldb:

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


В качестве альтернативы вы также можете изменить скорость где-то в вашем коде. Например, с макросом препроцессора #if при запуске приложения

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

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

Не забудьте установить символ DEBUG в разделе «Swift Compiler - Custom Flags», строка «Другие флаги Swift». Вы добавляете символ DEBUG с записью -DDEBUG.

15
dreamlab

В Objective-C работает довольно хорошо 

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