Резюме:
Я использую приведенный ниже фрагмент для отправки электронного письма из моего приложения на адрес электронной почты.Ниже реализация работает нормально в случае конфигурации, как показано ниже:
Устройство iOS: любое
Версия iOS: ниже 12
Однако, в случае iOS 12 и iPhone XR, яне удалось увидеть вложенный файл в почте.Это воспроизводимо только на iPhone XR с iOS 12+.В случае других устройств с iOS 12 проблема не воспроизводится.
func sendMail(filePath:String){
let toRecipients = user@domain.com
let subject = “Email Subject”
let formatter = DateFormatter()
formatter.dateFormat="dMMMyyyy";
let dateString = formatter.string(from: Date())
let userName :String = “ABC”
var bodyText1: String?
var bodyTextLocation: String?
bodyText1 = "<html><body><br> " + “Date:” + dateString
bodyText1 = bodyText1! + "<br><br>------------------------------<br>"
+ “Contact us for additional help” + "</body></html>"
let body = "<html><body><br><br><br><br><br>" + UIDevice.current.model + "<br> " + "</body></html>"
var bodyText2 : String?
bodyText2 = body + bodyText1!
let mail = configuredMailComposeViewController(recipients: toRecipients, subject: subject, body: bodyText2!, isHtml: true, images: nil)
if let fileData = try? Data(contentsOf: URL(fileURLWithPath: filePath))
{
print("File data loaded.")
let logFileName = (filePath as NSString).lastPathComponent
mail.addAttachmentData(fileData, mimeType: "text/plain", fileName: logFileName)
}
presentMailComposeViewController(mailComposeVC: mail)
}
func presentMailComposeViewController(mailComposeVC : MFMailComposeViewController) {
if MFMailComposeViewController.canSendMail(){
self.rootVC.present(mailComposeVC, animated: true, completion: nil)
}else{
//Error
}
}
Шаги для воспроизведения:
Использование iOS 12+ и iPhone XR Используйте приведенный выше фрагмент кода
Ожидаемые результаты:
Файл должен быть прикреплен в теле письма.
Фактические результаты:
Файл не прикрепляется в теле письма.Примечание. Воспроизводится случайным образом.
Версия / сборка:
iOS 12 +
Используемая конфигурация:
iPhone XR iOS 12 +