Ios UIEventSubtype缺少元素

Ios UIEventSubtype缺少元素,ios,jailbreak,iphone-privateapi,external-accessory,uievent,Ios,Jailbreak,Iphone Privateapi,External Accessory,Uievent,enum UIEventSubtype(iOS UIKit框架)包含播放、暂停、下一步、搜索等事件。但是,iPod访问协议包含许多其他事件,如选择、上下和后退(想想带clickwheel的iPod)。iOS上的iPod应用程序可以接收这些其他事件并做出相应的响应(在播放列表中向上/向下/向后移动所选内容),但开发者应用程序似乎无法访问这些控件 除了自己打开/dev/tty.iap端口(或者向苹果提交bug报告并等待),有人知道在iOS应用程序中接收这些额外事件的方法吗(用于越狱)?也许有一个私有

enum UIEventSubtype(iOS UIKit框架)包含播放、暂停、下一步、搜索等事件。但是,iPod访问协议包含许多其他事件,如选择、上下和后退(想想带clickwheel的iPod)。iOS上的iPod应用程序可以接收这些其他事件并做出相应的响应(在播放列表中向上/向下/向后移动所选内容),但开发者应用程序似乎无法访问这些控件


除了自己打开
/dev/tty.iap
端口(或者向苹果提交bug报告并等待),有人知道在iOS应用程序中接收这些额外事件的方法吗(用于越狱)?也许有一个私有的框架,有我想要的?我查看了IAP框架,但没有看到任何有趣的内容。

我没有现成的答案,但由于您是在越狱设备上执行此操作,您可以使用移动基板将代码注入iPod应用程序,您可以覆盖UIApplication sendEvent以查看它接收到的所有事件(包括选择、向上、向下等).

@Victor Ronin的想法是正确的,在私有框架
iPodUI
中,我发现一个类
IUAccessoryEventHandler
包含如下方法

- (void)handleDownArrowEvent; 
- (void)handleUpArrowEvent
- (void)handleSelectEvent
当我通过Theos调整和插入日志详细信息连接到它们时,我能够看到这些方法是在外部设备发送命令时被调用的方法


更新:不幸的是,
iPodUI
框架仅在iOS 5和iOS 6中可用,据报道。不确定这些方法是否仍然可用或在何处可用。

谢谢,这是个好主意。当我有机会的时候,我会尝试一下(很可能明年)。终于有机会尝试了。制作了一个简单的钩子,当调用
sendEvent
时,它只写入syslog。不幸的是,它只为第三方应用程序已经提供的IAP事件调用,而不是我希望访问的事件(选择、上、下和返回)。我想这些是在别处处理的。不过还是要谢谢你!您的想法是正确的,方法只是在
iPodUI
中,而不是通常的
ui应用程序中。