2015-07-25 10 views
5

Niedawno pobrałem wersję XCode 7 Beta wraz ze Swift 2.0. Używam go teraz do testowania mojej aplikacji. Większość moich testów udało mi się zbudować za pomocą funkcji RecordUI xcode.Symulowanie gestu potrząsania za pomocą testu Swift 2.0 UI

Moja aplikacja reaguje na gesty potrząsania i chciałbym programowo wywołać gest wstrząsów w moich szybkich testów interfejsu użytkownika. Wywołanie gestu wstrząsu podczas nagrywania nie powoduje dodania żadnego kodu.

Czy istnieje sposób, aby to zrobić? Z góry dziękuję!

+0

Wygląda na to, że możesz ... Czy próbowałeś tego: http://stackoverflow.com/questions/24433763/programmatically-trigger-shake-event-ios? W szczególności kod podany w pytaniu i zmieniający go zgodnie z sugestią odpowiedzi? – Oxcug

+0

Jestem całkowicie obeznany z Objective C, ale spróbuję go przekonwertować i zobaczyć – Noah

+0

Nie jestem wystarczająco dobry w Celu C, aby dowiedzieć się, w jaki sposób zamienia się w szybkie. Nie wiem nawet, czy zajęcia są takie same. – Noah

Odpowiedz

0

Przerobiony kod z postu, który był linked to jest następujący:

func setShakeState(fp8: Int) { 
    _shakeState = fp8 
} 

func _setSubtype(fp8: Int) { 
    _subtype = fp8 
} 

I

var m: UIMotionEventProxy = NSClassFromString("UIMotionEvent")._init() 
m.setShakeState(1) 
m._setSubtype(UIEventSubtypeMotionShake) 
UIApplication.sharedApplication().sendEvent(m) 
UIApplication.sharedApplication().keyWindow().motionBegan(UIEventSubtypeMotionShake, withEvent: m) 
UIApplication.sharedApplication().keyWindow().motionEnded(UIEventSubtypeMotionShake, withEvent: m) 

Oto strona użyłem do konwersji: https://objectivec2swift.com/#/converter.

Powiązane problemy