iphone - 在 iOS7 上注入(inject)系统范围的触摸事件

标签 iphone ios objective-c ios7 iphone-privateapi

在 iOS7 之前,可以使用 GSSendSystemEventGSSendEvent 私有(private) API 调用来注入(inject)触摸事件,例如:

在 iOS7 上,这些调用似乎默默地失败了。 Simulating system-wide touches in iOS 7 中提出了替代方案。但它只适用于越狱设备。 https://github.com/kif-framework/KIF看起来像是另一种选择,但它似乎只支持为当前应用程序注入(inject)事件,而不是系统范围(例如,当您的应用程序在后台时,您无法注入(inject)触摸事件)。

那么如何在不越狱的情况下在 iOS7 上注入(inject)系统范围的触摸事件呢?

最佳答案

我假设您需要在整个系统范围内为测试场景执行此操作?在这种情况下,Apple 的 UI 自动化 框架可能会为您提供很好的服务,这是一种基于 JavaScript 的工具,可用于设备上的测试。

虽然您无法执行模拟主页按钮按下等操作,但您可以将应用发送到后台指定的持续时间,例如:

UIATarget.localTarget().deactivateAppForDuration(seconds);

这里是文档:

https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef

关于iphone - 在 iOS7 上注入(inject)系统范围的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471572/

相关文章:

iphone - iOS 在两个 Controller 之间切换

iphone - 是否有任何 ios 图形库具有内置的 'explosion' 效果?

ios - CPU 使用率随着 UIScrollView 变大而下降?

iphone - 如果移动,UIImageView 将缩放而不是旋转,iOS

ios - Collection view Flow layout 类似于 Apple Store Application

ios - 滚动背景 - Sprite Kit

iphone - 在 iPhone 中将两个 .caf 音频文件合并为一个音频文件

ios - 以编程方式在 FBLikeControl 上添加约束

ios - 如何找到可以放置在 UICollectionView 行中的最大可能项目数?

javascript - ios 的 Phonegap 插件...javascript 部分