Кто-нибудь знает, можно ли напрямую отправить iMessage, используя частную структуру?
Я пытался использовать CTMessageCenter
от CoreTelephony
, но он отправил SMS, хотя мой телефон может отправлять iMessages.
Кто-нибудь знает, можно ли напрямую отправить iMessage, используя частную структуру?
Я пытался использовать CTMessageCenter
от CoreTelephony
, но он отправил SMS, хотя мой телефон может отправлять iMessages.
Я не проверял это, но посмотрите код, размещенный здесь< /а>. Если вы посмотрите на 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. См. закрытый заголовок здесь.
Частные API SMS и iMessage находятся в ChatKit.framework.
Через iPhone без джейлбрейка абсолютно нет доступа к iMessage CoreTelephony API