Ios 使用私有框架以编程方式发送iMessage

Ios 使用私有框架以编程方式发送iMessage,ios,iphone,sms,jailbreak,iphone-privateapi,Ios,Iphone,Sms,Jailbreak,Iphone Privateapi,有人知道是否可以使用私有框架直接发送iMessage吗 我试着从corethony使用CTMessageCenter,但即使我的手机可以发送iMessages,它也会发送短信。通过非越狱iPhone绝对无法访问iMessage Corethony API我还没有测试过,但请看。如果查看httpResponseForMethod:URI:,您会看到他/她在哪里发送消息(似乎是支持iOS 5或iOS 4的硬代码): “马德里”服务可能是发送iMessages的工具 SMS和iMessage私有API

有人知道是否可以使用私有框架直接发送iMessage吗


我试着从
corethony
使用
CTMessageCenter
,但即使我的手机可以发送iMessages,它也会发送短信。

通过非越狱iPhone绝对无法访问iMessage Corethony API

我还没有测试过,但请看。如果查看
httpResponseForMethod:URI:
,您会看到他/她在哪里发送消息(似乎是支持iOS 5或iOS 4的硬代码):

“马德里”服务可能是发送iMessages的工具


SMS和iMessage私有API都在聊天包中。框架

添加了越狱标签,似乎适合这里。但是越狱手机呢?对不起,你必须用谷歌搜索。我没有越狱电话的经验。@Enkidu,如果你看问题标签,你会发现这是越狱问题。我不是在问,我是在通知。我加了越狱标签:)@Enkidu,事实上,我的第一个反应是不正确的。如果您确定这个答案需要越狱才能工作,那就好了(我不能再测试了,因为API很久以前就改变了)。但是,应用于一个问题的标签应该反映提问者在问什么;它们不应该是答案的反映。因此,我将保留您的评论(尽管我无法验证其正确性),但越狱标签不应应用于该问题,因为它不是提问者所问问题的一部分。
CKSMSService *smsService = [CKSMSService sharedSMSService];

//id ct = CTTelephonyCenterGetDefault();
CKConversationList *conversationList = nil;

NSString *value =[[UIDevice currentDevice] systemVersion];          
if([value hasPrefix:@"5"])
{
    //CKMadridService *madridService = [CKMadridService sharedMadridService];
    //NSString *foo = [madridService _temporaryFileURLforGUID:@"A5F70DCD-F145-4D02-B308-B7EA6C248BB2"];

    NSLog(@"Sending SMS");
    conversationList = [CKConversationList sharedConversationList];
    CKSMSEntity *ckEntity = [smsService copyEntityForAddressString:Phone];
    CKConversation *conversation = [conversationList conversationForRecipients:[NSArray arrayWithObject:ckEntity] create:TRUE service:smsService];
    NSString *groupID = [conversation groupID];           
    CKSMSMessage *ckMsg = [smsService _newSMSMessageWithText:msg forConversation:conversation];
    [smsService sendMessage:ckMsg];
    [ckMsg release];     
} else {
    //4.0
    id ct = CTTelephonyCenterGetDefault();
    void* address = CKSMSAddressCreateWithString(pid); 

    int group = [grp intValue];         

    if (group <= 0) {
        group = CKSMSRecordCreateGroupWithMembers([NSArray arrayWithObject:address]);       
    }

    void *msg_to_send = _CKSMSRecordCreateWithGroupAndAssociation(NULL, address, msg, group, 0);    
    CKSMSRecordSend(ct, msg_to_send);

}
//CKMadridService *madridService = [CKMadridService sharedMadridService];