iOS MFMailComposeViewController不附加文件

时间:2019-01-01 05:10:13

标签: ios swift mfmailcomposeviewcontroller

摘要:

我正在使用以下代码段将电子邮件从我的应用发送到电子邮件地址。 在以下配置的情况下,以下实现可以正常工作:

iOS设备:任意

iOS版本:低于12

但是,对于iOS 12和iPhone XR,我无法在邮件中看到附件。 这仅在具有iOS 12+的iPhone XR上可重现。如果其他设备使用的是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以上版本

0 个答案:

没有答案