如何在越狱的iOS 5中启用ChatKit CKMadridService?
我正在编写一个类似wifiSMS的应用程序,但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
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会自动加载它吗?