如何在IOS中记录每个用户交互

时间:2017-11-11 13:25:14

标签: ios objective-c

我想通过NSLog记录IOS上的每个用户交互, 然后可能添加文件名,方法名称和行号。

通常我希望看到类似的内容:

UI Front-most view controller: MYViewController (no title)
Interaction Action [MyViewController showMenu] by sender UIBarButtonItem

这是否可以使用Objective-C。我不想改变每个文件,但宁愿调用一些全局方法。我更愿意在ApplicationDelegate类中执行此操作。

1 个答案:

答案 0 :(得分:1)

有一些你理解错误的东西。 UIBarButtonItem永远不是发件人,因为其类NSObject而不是UIViewUIBarButtonItem无法接收触摸,当我们点击一​​个条形项目时,它会接收到触摸UINavigationButton(私人课程)。

如果您想在用户点击视图时记录每次用户互动,我会为您提供解决方案。

  • 创建UIWindow的子类(调用CustomWindow)。
  • 覆盖sendEvent的{​​{1}}方法以捕获用户互动,检查并记录其中的互动。
  • UIWindow的{​​{1}}内部方法,将默认didFinishLaunchingWithOptions替换为类型为AppDelegate的窗口。

以下window用于记录用户与CustomWindow类的控制事件CustomWindow的互动。

UIControlEventTouchUpInSide

有关详细信息,请查看我的演示报告here