1

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

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

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

钩住updateLCDWithName:label:breakPoint:,但它失败了。

我怎样才能做到这一点?

4

1 回答 1

1

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

于 2013-05-09T14:22:57.427 回答