通过鼠标/键盘控制iOS设备

20

一些公司提供实际iPhone/iPad设备的手动测试。您可以通过鼠标和键盘直接从浏览器控制该设备。

他们可能使用诸如AirPlay之类的东西将设备图形流式传输到浏览器中。但是他们如何将鼠标点击转换为iPhone/iPad上的触摸事件?由于不可能在设备上运行VNC服务器,我想知道是否有另一种方法来做到这一点。


他们是使用真实设备,还是可能是远程运行的模拟器?有例子吗? - Beau Nouvelle
https://dev59.com/jGw15IYBdhLWcg3wO5SX,http://apple.stackexchange.com/questions/203178/using-mouse-from-osx-host-on-ios-device和这个一样。 - Leena
@BeauYoung 他们正在使用真实设备:perfectomobile.com - keynotedeviceanywhere.com - Jochen
2
按照这种推理,“为什么我的笔记本电脑无法识别我的USB驱动器”也应该是属于主题范畴内的。毕竟我正在寻找解决方案。 - Paul Roub
3
按照这种推理,询问在水中溶解盐会得到什么也将是相关话题。 - TylerH
显示剩余3条评论
1个回答

0

我不确定这些服务的工作原理,但我猜想你需要在你的应用程序中包含他们的一个框架。这个框架可能包含一个小型服务器组件,它接收鼠标事件并将其应用于应用程序。

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

如果用户在屏幕上点击某个位置,框架可能会首先执行一次命中测试以找到应该接收点击的视图(参见UIView上的命中测试)。当目标视图被找到后,框架可以调用touchesBegan、touchesMoved、touchesEnded等方法来处理这个视图上的事件。虽然需要一些工作,但我认为并不太复杂。此外,屏幕截图也可以很容易地通过服务器组件进行捕获和发送(参见如何进行屏幕截图)。

这种解决方案的一个警告是,您必须添加额外的代码来支持框架传入的数据,并且必须处理解析。看起来 OP 想要类似 VNC 的解决方案,它独立于任何特定的应用程序并与手机本身交互。(但这真的可能吗?嗯) - Flying_Banana
1
毫无疑问,如果不越狱或使用机械臂触摸屏幕,是不可能控制整个手机的。但是,如果您只想远程控制您的应用程序,那么我认为这是可行的方法。 - Florian L.
您可以将模拟触摸的硬件(例如电光转换器)连接到手机上,像使用触控笔或键盘一样操作。这取决于使用情况是什么。 - Florian L.
我知道这个解决方案。我正在寻找的是一种总体解决方案,可以在普通的iPhone上运行而不需要修改应用程序。类似于https://github.com/iolate/SimulateTouch,但不需要越狱设备。 - Jochen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接