iOS에 기본으로 설치된 메일앱을 연동해 메일을 보낼수 있게 해주는 viewcontroller이다
let emailVC = MFMailComposeViewController()
//기기명 아는것과 다르니 구글검색하면 나옴 ex) iphone12,3 => iphone 11 pro
emailVC.setSubject("[\\(CompanyConfig.SITE_NAME)] 모바일 독스 버그 리포트 ")
let zipPath = LogFileManager.shared.zipFilePath
if let zipFileData = try? Data(contentsOf: zipPath) {
print(zipPath)
emailVC.addAttachmentData(zipFileData, mimeType: "", fileName: "logs.zip")
}
let message = """
iOS 모바일 DRM
모델명: \\(UIDevice().getDeviceIdentifier())
iOS Version:\\(UIDevice.current.systemVersion)
고객사: \\(CompanyConfig.SITE_NAME)
장애내용을 작성해 주세요...
"""
emailVC.setMessageBody(message, isHTML: false)
emailVC.setToRecipients(["[email protected]","[email protected]"])
메일 이벤트에 따라 동작하는 MFMailComposeViewcontrollerDelegate 도있음
//MARK: - 이메일 전송 Delegate
extension SettingViewController : MFMailComposeViewControllerDelegate{
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
switch result {
case .sent:
log.debug("You sent the mail")
case .saved:
log.debug("You saved a draft of this email")
case .cancelled:
log.debug("you cancelled sending this email.")
case .failed:
log.debug("Mail failed : An Error Occured when trying to compose this email")
default:
log.debug("default case ")
}
self.dismiss(animated: true)
}
}