애플리케이션을 사용하여 iPhone 장치에서 이메일을 보내려면 iOS SDK의 MessageUI 프레임워크를 가져와야 합니다. 애플리케이션에서 프레임워크를 가져온 후 뷰 컨트롤러에 버튼을 끌어다 놓습니다. 해당 버튼에 대해 빈 작업을 추가합니다.
이제 뷰 컨트롤러에 다음 코드를 추가하세요.
funccomposeEmail(to email: String,subject: String,Body: String) { if( MFMailComposeViewController.canSendMail()) { letmailComposer = MFMailComposeViewController() mailComposer.mailComposeDelegate = self mailComposer.setToRecipients([email]) mailComposer.setSubject(subject) mailComposer.setMessageBody(Body, isHTML: true) letpathPDF = "\(NSTemporaryDirectory())result.pdf" if let fileData = NSData(contentsOfFile: pathPDF) { mailComposer.addAttachmentData(fileData as Data, mimeType: "application/pdf", fileName: "result.pdf") } self.present(mailComposer, animated: true, completion: nil) } else { print("email is not supported") } } funcmailComposeController(_ didFinishWithcontroller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { self.dismiss(animated: true, completion: nil) } }
방금 만든 버튼의 작업 내에서 이 메서드를 호출합니다.
@IBActionfuncactionButtonOne(_ sender: Any) { composeEmail(to: "[email protected]", subject: "Saying Hi", Body: "Hey there, hope you are doing well.") }
위의 코드를 실행하고 추가한 버튼을 누르면 다음과 같은 결과가 나옵니다.
주의해야 할 몇 가지 사항이 있습니다 -
-
iPhone의 메일 애플리케이션에 하나 이상의 계정이 추가되었는지 확인하십시오.
-
업로드하려는 주소에 로컬로 PDF가 저장되어 있는지 확인하십시오.