如何挂钩MPIncomingPhoneCallController的方法?

时间:2012-05-07 01:48:03

标签: iphone ios5 jailbreak iphone-privateapi

我希望在iOS 5中挂钩类MPIncomingPhoneCallController的方法,以便在来电时执行某些操作。我用

Class _$MPIncomingPhoneCallController = objc_getClass("MPIncomingPhoneCallController");

MSHookMessage(_$MPIncomingPhoneCallController, 
              @selector(updateLCDWithName:label:breakPoint:), 
             (IMP) &Hook_LCD, 
             "pre_");

挂钩updateLCDWithName:label:breakPoint:,但失败了。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您尝试挂钩的类位于IncomingCall.serviceBundle中,只有在有来电时才会在SpringBoard中加载。要确定何时实际加载,您需要挂钩SBPluginManager loadPluginBundle:。等到加载的包为com.apple.mobilephone.incomingcall。只有这样你才能勾起你想要的东西。