摘要:
我正在使用以下代码段将电子邮件从我的应用发送到电子邮件地址。 在以下配置的情况下,以下实现可以正常工作:
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以上版本