我想使用swift来实现应用内电子邮件.单击该按钮时,会弹出电子邮件窗口.但是,我无法发送电子邮件.此外,点击取消删除草稿后,我无法返回到原始屏幕.
import UIkit import MessageUI class Information : UIViewController, MFMailComposeViewControllerDelegate{ var myMail: MFMailComposeViewController! @IBAction func sendReport(sender : AnyObject) { if(MFMailComposeViewController.canSendMail()){ myMail = MFMailComposeViewController() //myMail.mailComposeDelegate // set the subject myMail.setSubject("My report") //To recipients var toRecipients = ["lipeilin@gatech.edu"] myMail.setToRecipients(toRecipients) //CC recipients var ccRecipients = ["tzhang85@gatech.edu"] myMail.setCcRecipients(ccRecipients) //CC recipients var bccRecipients = ["tzhang85@gatech.edu"] myMail.setBccRecipients(ccRecipients) //Add some text to the message body var sentfrom = "Email sent from my app" myMail.setMessageBody(sentfrom, isHTML: true) //Include an attachment var image = UIImage(named: "Gimme.png") var imageData = UIImageJPEGRepresentation(image, 1.0) myMail.addAttachmentData(imageData, mimeType: "image/jped", fileName: "image") //Display the view controller self.presentViewController(myMail, animated: true, completion: nil) } else{ var alert = UIAlertController(title: "Alert", message: "Your device cannot send emails", preferredStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil)) self.presentViewController(alert, animated: true, completion: nil) } } func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!){ switch(result.value){ case MFMailComposeResultSent.value: println("Email sent") default: println("Whoops") } self.dismissViewControllerAnimated(true, completion: nil) } }
Jai Govindan.. 10
由于您尚未将当前视图控制器设置mailComposeDelegate
为myMail
,因此mailComposeController:didFinishWithResult
不会调用该方法.初始化后myMail
,请确保添加:
myMail.mailComposeDelegate = self
你会好起来的
由于您尚未将当前视图控制器设置mailComposeDelegate
为myMail
,因此mailComposeController:didFinishWithResult
不会调用该方法.初始化后myMail
,请确保添加:
myMail.mailComposeDelegate = self
你会好起来的