2015-10-17 121 views
19

一些公司正在提供真正的iPhone/iPad設備的手動測試。 使用鼠標和鍵盤,您可以直接從瀏覽器控制設備。通過鼠標/鍵盤控制iOS設備

他們可能使用類似AirPlay的設備圖形流到瀏覽器。但他們如何將鼠標點擊轉換爲觸摸iPhone/iPad上的事件?由於無法在設備上運行VNC服務器,因此我想知道是否有另一種方法來執行此操作。

+0

他們使用的是真實設備,還是它可能是遠程運行的模擬器?有一個例子嗎? –

+0

http://stackoverflow.com/questions/6742227/how-to-connect-wireless-mouse-with-iphone,http://apple.stackexchange.com/questions/203178/using-mouse-from-osx-host -on-ios-device與此相同 – Leena

+0

@BeauYoung他們使用的是真實設備:perfectomobile.com - keynotedeviceanywhere.com – Jochen

回答

0

我不確切知道這些服務是如何工作的,但我想你必須在他們的應用中包含一個框架。這個框架可能包含一個小的服務器組件,它接收鼠標事件並將它們應用到應用程序。

func applicationDidBecomeActive(application: UIApplication) { 
    MyRemoteControlFramework.startServer() 
} 

如果一個鼠標點擊在屏幕上的位置,該框架可首先執行則hitTest找到那個應接收點擊視圖(參見Hittest on UIView)。當找到目標視圖時,框架可以在此視圖上調用touchesBegan,touchesMoved,touchesEnded ...。這是一個小工作,但我認爲它不復雜。此外,屏幕可以輕鬆捕獲並通過服務器組件發送(請參閱How to take a screenshot)。

+0

此解決方案的一個警告是您必須添加額外的代碼以支持來自框架的傳入數據,並且必須處理解析。看來,OP需要類似VNC的解決方案,它獨立於任何特定的應用程序並與手機本身交互。 (但是,這甚至可能嗎?嗯) –

+1

肯定不可能控制整個手機(沒有越獄或有機器人手臂觸摸屏幕)。但如果你只是想遙控你的應用程序,那麼我認爲這是一條路。 – liefersfl

+0

您可以將硬件連接到模擬手寫筆或鍵盤等觸摸的手機(閃電連接器),這也可以起作用。這取決於用例是什麼。 – liefersfl