【问题标题】:How can I simulate the touch events by IOHIDEvent?如何通过 IOHIDEvent 模拟触摸事件?
【发布时间】:2013-06-14 09:13:09
【问题描述】:

我想在 iOS 6 上模拟触摸事件。我从 IOHIDEvent 学到了一些有用的东西,它是用于人机界面设备的低级函数包。

来自:https://github.com/kennytm/iphone-private-frameworks/tree/master/IOKit/hid我拿到了IOHIDEvent的私有框架,但是iOS 4之后header改了,部分功能不再支持了。

有谁知道如何获取iOS6中的功能,或者知道如何在系统级别模拟事件?

【问题讨论】:

  • 有人知道这个问题的答案吗?我需要在 iOS8 中注入系统范围的触摸。我已经在这里问过类似的问题:stackoverflow.com/questions/26915920/… 但没有人回复。我真的需要尽快回答。

标签: iphone ios objective-c jailbreak


【解决方案1】:

正如我在对 your other question today 的回答中提到的,您可以尝试从 GraphicsServices.framework 或 IOKit.framework 中查看 GSEvent.h

这里有一些关于stackoverflow的好答案可以帮助你:

iOS Private API: lock device and power off the screen

GSSendEvent - Inject Touch Event iOS

iOS touch event notifications (private API)

【讨论】:

  • 非常感谢您的热心回答!其实我想捕捉用户的所有触摸操作,然后回放它们。我没有找到合适的地方存档,从谷歌搜索,我得到IOHIDEvent是一种有效的方法,所以我尝试了它。它很有用但仍然有问题。GSEvent是模拟触摸事件的好方法,但它只能将事件发送到指定的应用程序吗?我可以使用 GSEvent 捕获事件吗?谢谢!
  • 如果我的理解正确,答案是“不,它不仅仅用于发送到一个应用程序”。您可以使用GSSendSystemEvent() 将GSEventRecords 发送到系统。录音是一个不同的问题。我以前不必这样做。您可能应该将其发布为 new 堆栈溢出问题(例如“使用 GraphicsServices 记录 iOS 触摸事件”)。我今晚要睡觉了,但是如果我有时间,我会尝试明天再回来...
  • 非常感谢!我会发布一个新问题。
  • 我在这里发布了一个新问题stackoverflow.com/questions/17107001/…你为我考虑这个问题,我非常感谢。
  • 你如何在 ios 7 中发送系统范围的触摸事件
【解决方案2】:
【解决方案3】:

如果你想在系统级别模拟触摸事件,你必须越狱你的设备。

检查一下:

Simulate Touch Event on iOS - jailbroken - iOS13+

Is possible to simulate touch event using an external keyboard on ios jailbroken?

【讨论】:

  • 您的格式选择非常嘈杂。我想这不是你想让它从其他帖子中脱颖而出的印象。
猜你喜欢
  • 2013-07-27
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 2022-11-08
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多