Подтвердить что ты не робот

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

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

Возможно ли это?

4b9b3361

Ответ 1

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

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

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

в отладчик.

Благодаря эта ссылка для решения.

Ответ 2

В Swift 3:

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

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

window?.layer.speed = 0.1

Ответ 3

Для 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", "Other Swift Flags". Вы добавляете символ DEBUG с записью -DDEBUG.

Ответ 4

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

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

Ответ 5

Если вы хотите замедлить приложение только в одном контроллере представления, вы можете настроить точку останова для продолжения выполнения после выполнения команды. Вы устанавливаете эту viewDidAppear останова в viewDidAppear. Затем вы можете установить другую "неостанавливаемую" точку останова, чтобы изменить скорость до 1X. Вы устанавливаете эту другую viewDidDisappear останова в viewDidDisappear.

Очень просто. Может быть сохранен в вашем списке точек останова и деактивирован и может быть легко использован при необходимости.