swift pdf файл не прикреплен к письму

У меня есть код ниже, который должен прикрепить файл с именем "file.pdf", который был создан и помещен во временный каталог как таковой

pdfFileUrl = "\(NSTemporaryDirectory())file.pdf" 

Но в письме нет моего вложения, так как я ожидаю

@IBAction func sendEmail(sender: AnyObject) {

    createReportPDF()

    if MFMailComposeViewController.canSendMail() {
        let mail = MFMailComposeViewController()
        mail.mailComposeDelegate = self
        mail.setToRecipients(["dpreston10@gmail.com"])
        mail.setMessageBody("<p>You're so awesome!</p>", isHTML: true)
        if let filePath = NSBundle.mainBundle().pathForResource(pdfFileUrl, ofType: "pdf") {
            print("File path loaded.")

            if let fileData = NSData(contentsOfFile: filePath) {
                print("File data loaded.")
                mail.addAttachmentData(fileData, mimeType: "application/pdf", fileName: "file.pdf")
            }
        }

        presentViewController(mail, animated: true, completion: nil)
    } else {
        // show failure alert
    }
}

1 ответ

Решение

Поскольку ваш файл помещен во временную папку пользователя, я не думаю, что он будет доступен из NSBundle метод. Тем не менее, если вы пишете NSData на диск во временной папке, а затем отправьте ее напрямую по электронной почте, вы можете рассмотреть возможность передачи этой переменной (pdfData) к почтовому контроллеру вроде:

mail.addAttachmentData(pdfData, mimeType: "application/pdf", fileName: "file.pdf")
Другие вопросы по тегам