iOS – Perfecto Mobile中的屏幕共享

我们正在探索各种testing套件进行移动自动化testing,并遇到了这家名为Perfecto Mobile的公司。 其中一个让我失望的function是他们能够(无越狱)有效地在物理iPad上执行“远程桌面”。

因此,iPad的屏幕在Web应用程序中被镜像,它可以在Web应用程序上注册触摸/滑动事件并在设备上执行它们。 我唯一相关的技术细节是,所有这些都是使用通过USB电缆发送的命令执行的。

我很好奇这是如何实现的,以及有关私有API的细节(如果有的话)。

谢谢,
Teja公司

我对PerfectoMobile并不熟悉,但是我可以给你几个关于如何完成的指示:

  • 对于镜像来说,一种方法是使用AirPlay,这些API有很好的文档logging ,但是不要去做我们正在谈论的,这需要一些严肃的逆向工程,但是这绝对有可能, 这些人已经做到了 。 一种不同的方法是运行一个后台应用程序,它定期拍摄主屏幕的快照,并通过套接字连接发送给客户端。 您可以将其作为VNC服务器来执行此操作,并将远程视图合并到Web应用程序中,则可以使用noVNC 。 就使用USB连接而言,在后台应用程序通过TCP与客户端交谈的情况下,您可以转发端口。

  • 要真正在设备上执行从远程查看器发送的触摸事件,大多数人一直使用GraphicsServices私有框架中的GSEvent组function,而不需要越狱设备。 同样,一个后台应用程序会通过一个套接字接收一个指令,如“点击”,实例化GSEvent,然后注入它,以便在最前面的应用程序的运行循环中进行处理。

至less这几个可能性已经在不同的iOS应用程序(iOS7是不同的动物)中成功实现了。 您不会在App Store中find任何这样的应用程序,因为Apple明确禁止在第三方应用程序中使用私有框架,而是使用企业和临时设置configuration文件在内部部署它们。 但是在Android上,Play商店中有VMLite可用。

如果你想从iOS / Android共享屏幕,看看skreen.me。 他们有示例应用程序,您可以尝试,也为移动应用程序集成提供库。