2016-07-14 7 views
2

앱에서 이메일을 보내는 방법에 대한 많은 자습서를 보았지만 본 적이없는 이미지를 함께 보내는 방법을 보여주었습니다. .WriteToFile에서 이미지를 복구합니다.이 이미지는 UIImageView로 설정됩니다. 내 사진과 함께 이메일을 보내려면 어떻게해야합니까?Swift에서 첨부 된 이미지로 앱에서 이메일 보내기

니얼

답변

8

당신은을 NSData에서 이미지 를 인코딩, 메일에 attachmentData를 추가해야합니다. 다음은 이미지로 이메일을 보내는 방법을 보여주는 예입니다. 나는 당신이 UIViewController을 가지고 있다고 가정하고 있습니다. 여기에 함수 sendMail을 넣을 수 있습니다.

func mailComposeController(controller: MFMailComposeViewController, 
    didFinishWithResult result: MFMailComposeResult, error: NSError?) { 
     controller.dismissViewControllerAnimated(true, completion: nil) 
} 

이 방법에 대한 문서가 MFMailComposeViewControllerDelegate에보고 된 경우 : VC를 해제하기 위해

import MessageUI 
class MyViewController: UIViewController, MFMailComposeViewControllerDelegate 
{ 
    // .... your stuff 

    func sendMail(imageView: UIImageView) { 
    if MFMailComposeViewController.canSendMail() { 
     let mail = MFMailComposeViewController() 
     mail.mailComposeDelegate = self; 
     mail.setCcRecipients(["[email protected]"]) 
     mail.setSubject("Your messagge") 
     mail.setMessageBody("Message body", isHTML: false) 
     let imageData: NSData = UIImagePNGRepresentation(imageView.image)! 
     mail.addAttachmentData(imageData, mimeType: "image/png", fileName: "imageName") 
     self.presentViewController(mail, animated: true, completion: nil) 
    } 
    } 

} 

, 당신의 ViewController에서 다음과 같은 방법을들 수있다.

+0

취소를 누른 경우 메일 양식을 어떻게 닫아야합니까? 스크린 샷 : https://postimg.org/image/6pz5yv5lj/ –

+0

답변을 업데이트했습니다. 편집을 참조하십시오. –

+0

덕분에 Adda_25가 도움이되었습니다. –