如何在越狱的iOS 5中启用ChatKit CKMadridService?

如何在越狱的iOS 5中启用ChatKit CKMadridService?,ios,jailbreak,Ios,Jailbreak,我正在编写一个类似wifiSMS的应用程序,但CKMadridService始终处于禁用状态 NSLog(@"is madrid service supported ? %hhd , Enabled? %hhd ",[CKMadridService isMadridSupported] ,[CKMadridService isMadridEnabled] ); 如何启用CKMadridService?查看聊天包反汇编,isMadridEnabled正在检查调用方应用程序包标识符。只有当bun

我正在编写一个类似wifiSMS的应用程序,但CKMadridService始终处于禁用状态

NSLog(@"is madrid service supported ?  %hhd , Enabled? %hhd ",[CKMadridService isMadridSupported] ,[CKMadridService isMadridEnabled] );

如何启用CKMadridService?

查看聊天包反汇编,
isMadridEnabled
正在检查调用方应用程序包标识符。只有当bundle ID等于
com.apple.MobileSMS
com.apple.springboard
时,它才会返回true。所以你可以尝试将你的动态库注入到springboard中,以这种方式发送iMessages。我不确定,但至少
isMadridEnabled
应该返回true。

您也可以尝试挂接CKMadridService并始终返回YES,也许这将允许您从任何进程中发送消息

我得到一个CKMadridService共享实例,并尝试发送一条iMessage,但它失败了。我不认为用这种方法解决问题。几乎每个CKMadridService方法都在使用
BOOL ckisrunningmessagesorspringboard()
函数和其他几个函数,而不是
ismadEnabled
方法。这与
isMadridEnabled
使用的函数相同。因此,解决方案是挂接以下函数-
ckisrunningfullckclient
ckisrunningmessagesorspringboard
ckisrunningspringboard
。这样ChatKit就会认为调用应用程序是跳板。或者你可以钩住
ckisrunningmessages
而不是
ckisrunningspringboard
,让他认为你就是消息应用程序。@creker,谢谢你的帮助回答,我会钩住这些方法。我想知道如何将动态库注入SpringBoard,只需将其放入/Library/MobileSubstrate/DynamicLibraries,MobileSubstrate会自动加载它吗?