我有一个用于发送电子邮件和短信的应用程序。
我遇到的问题是,iOS 7 上 MFMessageComposeViewController 的加载速度比之前的 iOS 慢得多,并且随着联系人数量的增加,它变得最糟糕。
在打开消息应用程序并加载内容之前,屏幕会变黑几秒钟。
有什么想法吗?
对于同样大量的电子邮件,MFMailComposeViewController 和以前一样快。
帮助!!谢谢。
我有一个用于发送电子邮件和短信的应用程序。
我遇到的问题是,iOS 7 上 MFMessageComposeViewController 的加载速度比之前的 iOS 慢得多,并且随着联系人数量的增加,它变得最糟糕。
在打开消息应用程序并加载内容之前,屏幕会变黑几秒钟。
有什么想法吗?
对于同样大量的电子邮件,MFMailComposeViewController 和以前一样快。
帮助!!谢谢。
我也有同样的问题。我为作曲家提供了强有力的参考
@property (nonatomic, strong, retain) MFMessageComposeViewController *messageComposer;
然后所有者类调用此方法:
-(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];
}
}
作曲家出现很快,但消失得很慢。最终完成:
- (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;
}];
}
重新启动我的设备后,它显然可以工作。在重新启动之前(在通过发送无效收件人弄乱 MessageService 之后)它失败了。
此问题已在 iOS7.0.3 中修复
对于 iMessage 收件人,我也遇到了这个问题。
似乎与从 iCloud 下载的 iMessage 同步历史记录有关。我有 4 个收件人,第一个 Apple iMessage 对话框弹出大约需要 30 秒。
在等待了一次之后,我取消了发送,下一次重复尝试很快就解决了——这个结果,加上 iOS7 在作曲家视图中显示消息历史记录的事实(iOS7 之前没有),让我得出结论,Apple在弹出视图之前正在等待某种 iCloud 同步。
这在具有不同 iCloud 帐户的 iPhone 4 和新 iPhone 5s 上重现,因此它似乎不是硬件限制或我的 iCloud 帐户或收件人所独有的。
对于这个问题,我没有确定的解决方案,但我有一些解决方法可以建议进一步调查: