ios – 使用Swift实现应用内邮件失败

前端之家收集整理的这篇文章主要介绍了ios – 使用Swift实现应用内邮件失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用 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,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)

}
}

解决方法

由于您尚未将当前视图控制器设置为myMail的mailComposeDelegate,因此未调用mailComposeController:didFinishWithResult方法.初始化myMail后,请确保添加
myMail.mailComposeDelegate = self

你会很好的去

原文链接:https://www.f2er.com/iOS/330657.html

猜你在找的iOS相关文章