iOS中的宏录制

时间:2013-04-08 21:28:20

标签: ios cocoa-touch macros playback

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

问候。

3 个答案:

答案 0 :(得分:2)

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

播放有点复杂;无法制作UITouchUIEvent个对象(因此您无法制作虚假事件并将其传递给-[UIApplication sendEvent:])。但是,没有什么可以阻止你手动解析一个Event对象数组并自己处理它(除了它是一些丑陋的代码)。

答案 1 :(得分:2)

没有内置的宏功能,但您当然可以在应用程序中构建该功能。但是,您需要做的不仅仅是回放事件。触摸通常不可见,但如果您尝试向用户解释如何使用您的应用,您可能希望为触发不同响应的触摸提供某种可视化表示,类似于当您按住选项键时,iOS模拟器使用白点表示多个触摸的方式。

假设您可以解决该问题,我们会想到两种轻松记录用户操作的策略:

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

  • 使用辅助功能:无论何时触及用户界面元素,辅助功能框架都会发送通知。您的应用可以使用这些通知来创建播放脚本。但是,您仍然需要编写代码来回放脚本中的事件。

答案 2 :(得分:0)

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