iOS MFMailComposeViewController не прикрепляет файл - PullRequest
0 голосов
/ 01 января 2019

Резюме:

Я использую приведенный ниже фрагмент для отправки электронного письма из моего приложения на адрес электронной почты.Ниже реализация работает нормально в случае конфигурации, как показано ниже:

Устройство 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 +

...