我有一个用于发送电子邮件和短信的应用程序。
我遇到的问题是,在 iOS 7 上加载 MFMessageComposeViewController 的速度比在之前的 iOS 上慢得多,而且随着联系人数量的增加,它变得最糟糕。
在消息应用打开并加载内容之前,屏幕变黑几秒钟。
有什么想法吗?
对于相同数量的电子邮件,MFMailComposeViewController 和以前一样快。
求助!! 谢谢。
最佳答案
我也遇到了同样的问题。我使 Composer 强烈引用了
@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];
}
}
Composer 出现得很快,消失得也很慢。结束于:
- (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 之后)它失败了。
关于ios - MFMessageComposeViewController 在 iOS 7 上慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19027180/