2012-12-07 76 views
1

枚舉UIEventSubtype(iOS版UIKit框架)中包含的事件,如播放,暫停,下一個,求等。然而,在iPod接入協議包含了許多其他活動,如選擇,向上,向下,向後(思iPod與點擊)。 iOS上的iPod應用程序可以接收這些其他事件,並作出相應的反應(移動選擇上/下/後的播放列表),但開發者的應用程序沒有顯得訪問這些控件。UIEventSubtype缺少的元素

除了自己打開/dev/tty.iap端口(或向Apple提交錯誤報告並等待),是否有人知道在iOS應用(越獄)中接收這些附加事件的方式?也許有一個私人框架,有我在找什麼?我查看了IAP框架,但沒有看到任何有趣的事情。

回答

2

@Victor羅寧當時的想法是,在私人框架iPodUI我發現了一個含有方法類IUAccessoryEventHandler

- (void)handleDownArrowEvent; 
- (void)handleUpArrowEvent 
- (void)handleSelectEvent 

當我迷上到他們與西奧斯調整和插入記錄的細節,我能看到這些方法是在外部設備發送命令時被調用的方法。

更新:不幸的是,iPodUI框架僅適用於iOS 5和iOS 6,根據the iPhone Wiki。不確定這些方法是否仍然可用或在哪裏可用。

1

我沒有現成的答案,但由於您是在越獄設備上執行此操作,因此您可以使用移動基板將代碼注入iPod應用程序,並且可以覆蓋UIApplication sendEvent以查看它接收的所有事件(包括選擇,上,下等)。

+0

謝謝,這是一個好主意。我給它一個嘗試,當我得到一個機會(明年最有可能)。 – newenglander

+0

終於有機會嘗試一下了。做了一個簡單的掛鉤,只寫syslog的時候'sendEvent'被調用。不幸的是它只是呼籲那些已經提供給第三方應用程序,以及,我不希望被訪問(選擇,向上,向下和向後)事件的IAP的事件。我想這些是在其他地方處理的。不過謝謝! – newenglander

+0

你有正確的想法,方法只是'iPodUI'而不是通常的'UIApplication'。 – newenglander