MFMailComposeViewController 出现一秒钟然后消失
Posted
技术标签:
【中文标题】MFMailComposeViewController 出现一秒钟然后消失【英文标题】:MFMailComposeViewController appears for a second then disappears 【发布时间】:2016-01-25 03:32:21 【问题描述】:我已经按照 Swift 指南完成了 MFMailComposeViewController() 的常规设置
https://developer.apple.com/library/prerelease/ios/documentation/MessageUI/Reference/MFMailComposeViewController_class/
但是当我运行它时,电子邮件会出现片刻,然后消失,并且我收到错误消息“MailCompositionService quit unexpectedly”。
这是完整的代码
import Foundation
import UIKit
import MessageUI
class ViewController: UIViewController, MFMailComposeViewControllerDelegate
@IBAction func showEmail(sender: AnyObject)
let composeVC = MFMailComposeViewController()
composeVC.mailComposeDelegate = self
// Configure the fields of the interface.
composeVC.setToRecipients(["address@example.com"])
composeVC.setSubject("Hello!")
composeVC.setMessageBody("Hello from California!", ishtml: false)
// Present the view controller modally.
self.presentViewController(composeVC, animated: true, completion: nil)
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult, error: NSError?)
switch result.rawValue
case MFMailComposeResultCancelled.rawValue:
print("Mail cancelled")
case MFMailComposeResultSaved.rawValue:
print("Mail saved")
case MFMailComposeResultSent.rawValue:
print("Mail sent")
case MFMailComposeResultFailed.rawValue:
print("Mail sent failure: \(error!.localizedDescription)")
default:
break
controller.dismissViewControllerAnimated(true, completion: nil)
【问题讨论】:
【参考方案1】:这是 xcode 模拟器中的一个已知错误。它应该可以在您的设备上正常工作。
【讨论】:
感谢您的回答 - 我以为我会发疯 - 因为我遵循了 Apple Developer Site 上的确切说明。【参考方案2】:您的代码是正确的。 MFMailComposeViewController
组件不能在iOS simulator
中测试,只能在device
中测试。
如果您在Apple Developer Forums
中查看此Thread,则问题在Apple Bug Report
中有一张票,但仍然没有任何修复。
【讨论】:
以上是关于MFMailComposeViewController 出现一秒钟然后消失的主要内容,如果未能解决你的问题,请参考以下文章