Domanda

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 on prior iOS and it becomes worst as the number of contacts increases.

Screen goes black for seconds before Messages app opens with the contents loaded.

Any thoughts?

With the same large number of emails, the MFMailComposeViewController is as quicker as before.

Help!! Thanks.

È stato utile?

Soluzione 2

This issue has been fixed with iOS7.0.3

Altri suggerimenti

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.

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.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top