【问题标题】:Macro Recording in iOSiOS 中的宏录制
【发布时间】:2013-03-31 03:19:46
【问题描述】:

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

问候。

【问题讨论】:

  • Automated testing for iPhone 的可能重复项
  • @matt:不是骗子。如果您阅读了这个问题,Mosib 正试图使用​​这些事件向用户展示他的应用程序单词,作为一种教程。

标签: ios cocoa-touch macros playback


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-14
        相关资源
        最近更新 更多