MFMessageComposeViewController much slower on iOS 7

前端 未结 3 2176
别那么骄傲
别那么骄傲 2021-02-14 15:20

I\'ve an app for sending email and text messages.

The problem that i\'m having is that the loading of the MFMessageComposeViewController much slower on iOS 7 than it was

相关标签:
3条回答
  • 2021-02-14 15:24

    I have the same problem. I made the composer strong reference with

    @property (nonatomic, strong, retain) MFMessageComposeViewController *messageComposer;
    

    Then owner class calls this method:

    -(void)sendSMSFromController:(UIViewController*)controller
    {
        self.messageComposer = [MFMessageComposeViewController new];
    
        if([MFMessageComposeViewController canSendText]) {
            [_messageComposer setBody:_body];
            [_messageComposer setRecipients:[NSArray arrayWithObjects:_recipient, nil]];
            [_messageComposer setMessageComposeDelegate:self];
            [controller presentViewController:_messageComposer animated:NO completion:NULL];
        }
    }
    

    Composer appears quickly but disappears slowly. Finalizes with:

    - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
    {
        switch (result) {
            case MessageComposeResultCancelled:
                NSLog(@"Message sending cancelled.");
                break;
    
            case MessageComposeResultFailed:
                NSLog(@"Message sending failed.");
                break;
    
            case MessageComposeResultSent:
                NSLog(@"Message sent.");
            default:
                break;
        }
    
    
        [controller dismissViewControllerAnimated:YES completion:^(){
            self.messageComposer = nil;
        }];
    }
    

    After restarting my device it clearly works. Before restart (after messing with MessageService by sending invalid recipients) it failed.

    0 讨论(0)
  • 2021-02-14 15:31

    This issue has been fixed with iOS7.0.3

    0 讨论(0)
  • 2021-02-14 15:34

    I am encountering this issue as well, for iMessage recipients.

    Seems to be tied to iMessage syncing history down from iCloud. I had 4 recipients and it took about ~30 seconds for the first Apple iMessage dialog to pop up.

    After waiting on this once, I canceled out of the sends, the next repeated attempt resolved quickly -- this result, plus the fact that iOS7 displays message history in the composer view (pre iOS7 does not), has led me to conclude that Apple is waiting on some kind of iCloud sync before popping up the view.

    This reproduced on both an iPhone 4 and a new iPhone 5s with different iCloud accounts, so it does not seem to be hardware limited or unique to my iCloud account or recipients.


    I have no confirmed solution for this issue, but I have some workarounds to suggest for further investigation:

    • Some of our users have reported that rebooting the device resolves this issue.
    • This may be a "1 time fee" per unique iMessage recipient after upgrading to iOS7.
    0 讨论(0)
提交回复
热议问题