MFMailComposeViewController 在 iPad 上崩溃

MFMailComposeViewController crash on iPad

我正在为 iPhone 和 iPad 使用以下代码。

if([MFMailComposeViewController canSendMail])
{
     dispatch_async(dispatch_get_main_queue(), ^{

         MFMailComposeViewController *mailcomposer=[[MFMailComposeViewController alloc] init];
         [mailcomposer setMailComposeDelegate:self];
         [mailcomposer setToRecipients:[NSArray arrayWithObject:recipients]];
         [self presentViewController:mailcomposer animated:YES completion:nil];
      });
}

它在 iPhone 中工作正常,但在 iPad 的情况下,模态已打开,几秒钟后它会自动关闭。将其置于调试模式后,我发现下面的日志。

viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=0x7fbb904040f0 {Message=Service Connection Interrupted}
<MFMailComposeRemoteViewController: 0x7fbb928b3250> timed out waiting for fence barrier from com.apple.MailCompositionService

您可以 运行 在真实物理 Device/iPad 上 MFMailComposeViewController,但在模拟器上可能会出现问题。