2013-04-08 29 views
1

是否可以在iPhone上记录一组触摸事件,然后播放? 我已经搜索了很多,但找不到任何答案。如果可能的话,任何人都可以用一个例子来解释。 我不寻找测试目的。在我的应用程序中,我不想创建动画,而只想记录一组事件,然后想要回放以向用户解释应用程序流。iOS中的宏记录

问候。

+0

可能重复(http://stackoverflow.com/questions/402389/automated-testing-for-iphone) – matt 2013-04-08 21:36:39

+0

@马特:不是欺骗。如果你阅读这个问题,Mosib正在尝试使用这些事件来向用户展示他的应用程序字,如教程。 – zadr 2013-04-08 21:42:13

回答

2

录音非常简单。查看UIResponder上的各种“响应触控事件”和“响应运动事件”方法。只需创建您自己的UIView子类(因为UIView继承自UIResponder)并保留传入相关方法的事件的副本。

回放有点复杂;没有办法使UITouchUIEvent对象(所以你不能做一个假事件,并将其传递到-[UIApplication sendEvent:])。但是,没有什么能够阻止你手动解析一个Event对象数组并且自己处理它(除了它是某种丑陋的代码之外)。

0

您可以使用AirServer镜像应用程序并使用任何屏幕捕获软件制作视频。

2

没有内置的宏功能,但是您可以将该功能添加到您的应用程序中。不过,您需要做的不仅仅是回放活动。触摸通常是不可见的,但如果你想解释如何使用你的应用程序给用户,你可能需要有一些触摸的视觉表示,触发不同的响应,类似于iOS模拟器使用的方式当您按住选项键时,用白色圆点表示多点触摸。

假设你能解决这个问题,这两个策略轻松地记录用户的行为浮现在脑海中:

  • 使用还原管理器: NSUndoManager已经被设置为“记录”撤销的事件。如果您花费一些时间使应用程序中的所有内容都可撤销,您可以(也许)执行一组操作,全部撤消它们以将它们移动到重做堆栈,然后将事件作为脚本保存在重做堆栈中。

  • 使用辅助功能:无论何时触摸用户界面元素,Accessibility框架都会发送通知。您的应用可以使用这些通知来创建回放脚本。不过,您仍然需要编写代码来播放脚本中的事件。 [用于iPhone自动化测试]的