Skip to content

Sending messages via iMessage iOS16 #149

@hek4ek

Description

@hek4ek

Hi @itsjunetime

I'm trying to figure out what changed in iOS16 when sending messages via iMessage

Before iOS16, this code worked:

IMAccountController *sharedAccountController = [%c(IMAccountController) sharedInstance];

IMAccount *myAccount = [sharedAccountController activeIMessageAccount];

if (myAccount == nil){

myAccount = [sharedAccountController activeSMSAccount];

NSLog(@"WebMessage: Tweak.x sharedAccountController activeSMSAccount %@", myAccount);

}

__NSCFString *handleId = (__NSCFString *)address;

IMHandle *handle = [[%c(IMHandle) alloc] initWithAccount:myAccount ID:handleId alreadyCanonical:YES];

IMChatRegistry *registry = [%c(IMChatRegistry) sharedInstance];

IMChat *chat = [registry chatForIMHandle:handle];

IMMessage* message;

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 14.0){

message = [%c(IMMessage) instantMessageWithText:text flags:1048581 threadIdentifier:nil];

}

else{

message = [%c(IMMessage) instantMessageWithText:text flags:1048581];

}

[chat sendMessage:message];

but in iOS16 messages stopped sending

I tried to get the sending progress via [chat setSendProgressDelegate: self];

I start getting the progress value, it reaches 90% and continues to call the method infinitely

- (void)chat:(id)arg1 progressDidChange:(float)arg2 sendingMessages:(id)arg3 sendCount:(unsigned long long)arg4 totalCount:(unsigned long long)arg5 finished:(bool)arg6

with the value progressDidChange=0.9

I know that iMessage in iOS16 got the ability to edit/cancel/restore messages, but after studying the difference in IMCHat dumps on limneos.net for iOS15.2.1 and iOS16.3, I did not find how this can affect sending

I assume that perhaps some additional nuance with security appeared in iMessage starting with iOS16, but I do not understand where to look for the answer

I will be glad to any idea, thanks in advance for your thoughts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions