2015-07-25 11 views
5

Ich habe vor kurzem die XCode 7 Beta komplett mit Swift 2.0 heruntergeladen. Ich benutze es jetzt, um meine App zu testen. Ich habe die meisten meiner Tests über die Record-UI-Funktion von xcode erstellt.Simulieren Sie eine Shake-Geste mit Swift 2.0 UI Testen

Meine App reagiert auf Shake-Gesten und ich möchte programmgesteuert eine Shake-Geste in meinen schnellen UI-Tests auslösen. Das Auslösen der Shake-Geste während der Aufnahme führt zu keinem zusätzlichen Code.

Gibt es eine Möglichkeit, dies zu tun? Danke im Voraus!

+0

Es sieht aus wie du kannst ... Hast du das versucht: http://stackoverflow.com/questions/24433763/programmatically-trigger-shake-event-ios? Spezifisch der Code, den die Frage zur Verfügung stellt und ihn wie durch eine Antwort vorgeschlagen ändert? – Oxcug

+0

Ich bin völlig unbekannt mit Objective C, aber ich werde versuchen, es umzuwandeln und zu sehen – Noah

+0

Ich bin nicht gut genug mit Objective C, um herauszufinden, wie das zu schnell konvertiert. Ich weiß nicht einmal, ob die Klassen gleich sind. – Noah

Antwort

0

Der konvertierte Code aus dem Beitrag, der linked to war, ist folgende:

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

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

Und

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) 

Hier ist die Seite, die ich für die Umwandlung verwendet wird: https://objectivec2swift.com/#/converter.