2012-01-19 2 views
6

Кто-нибудь знает, можно ли напрямую отправлять iMessage с помощью частной структуры?Программно отправлять iMessage с помощью частных фреймворков

Я пробовал использовать CTMessageCenter от CoreTelephony, но он отправит SMS, хотя мой телефон может отправлять iMessages.

+0

Добавлен ярлык джейлбрейка, похоже, здесь. –

ответ

2

Я не проверял это, но смотреть at the code posted here. Если вы посмотрите на httpResponseForMethod:URI:, вы видите, где он/она посылает сообщение (по-видимому, жёстко поддерживать IOS 5 или IOS 4):

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); 

} 

код использует обычный SMS, но вы можете увидеть следующее код комментария:

//CKMadridService *madridService = [CKMadridService sharedMadridService]; 

Услуга «Мадрид», вероятно, может отправить iMessages. See the private header here.

И SMS-сообщения, и частные API-интерфейсы iMessage находятся в ChatKit.framework.

+0

это работает только в перерыве в тюрьме – iosMentalist

+0

@ Enkidu, если вы посмотрите на теги вопросов, вы увидите, что это вопрос с джейлбрейком. – Nate

+0

Я не прошу сообщить. Я добавил тэг jailbreak :) – iosMentalist

-4

через не джейлбрейк iPhone нет абсолютно никакого доступа к Шеззаде CoreTelephony API

+0

, но как насчет телефона с джейлбрейком? –

+0

Извините, что вам придется работать в Google. У меня нет опыта работы с джейлбрейковыми телефонами. – aldridmc

Смежные вопросы