2015-10-23 6 views
0

Когда я запускаю свой автоматический скрипт (UIautomation ios) в iOS 9 ipad retina simulator, тогда я получаю ошибку в этой строке - deactivateAppForDuration (5); Код:UIAutomation script ios - deactivateAppForDuration throwing nil

var target = UIATarget.localTarget(); 
...... 
...... 
target.deactivateAppForDuration(5); 

Ошибка:

[UIElementNil prepareForAction] ...

процесса: Мое приложение открывает ссылку в сафари и мое приложение идет на фоне , теперь через 5 секунд я хочу вернуть приложение на передний план.

ответ

1

Проблема заключается в разное расположение UI на iOS9 (относительно iOS7, iOS8), показали, в то время как вы пытаетесь переключиться обратно в приложение: https://forums.developer.apple.com/thread/19047

Как вы можете видеть, Apple, знает проблему, но не собирается почини это. При попытке использовать функцию deactivateAppForDuration() для отправки заявки в BG на некоторое время, он не может вернуться к FG и всегда выдает следующее исключение:

-[UIAElementNil _prepareForAction:]: unrecognized selector sent to instance 

Как обходного я могу предложить следующее:

try { 
     UIATarget.localTarget().deactivateAppForDuration(time); 
    } catch (error) { 
     UIALogger.logMessage("Trying to perform workaround for iOS9"); 
     // here you are tapping almost to the screen center and coming back to the app as result 
     UIATarget.localTarget().tap({origin:{x:35,y:140}, size:{width:99, height:70}}); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^