【问题标题】:mailComposeViewController with pdf in PdfKit swiftmailComposeViewController 在 PdfKit swift 中带有 pdf
【发布时间】:2018-02-16 10:11:32
【问题描述】:

我在 Swift 中使用 PdfKit 编写了一个 pdf 文件的代码

但是电子邮件没有打开应用内我没有收到任何错误

 let mailComposeViewController = MFMailComposeViewController()
        if let lastPathComponent = pdfDocument?.documentURL?.lastPathComponent,
            let documentAttributes = pdfDocument?.documentAttributes,
            let attachmentData = pdfDocument?.dataRepresentation() {
            if let title = documentAttributes["Title"] as? String {
                mailComposeViewController.setSubject(title)
            }
            mailComposeViewController.addAttachmentData(attachmentData, mimeType: "application/pdf", fileName: lastPathComponent)
        }

【问题讨论】:

  • 尝试将 mimeType 设置为“public.composite-content”或“com.adobe.pdf”

标签: swift mfmailcomposeviewcontroller pdfkit


【解决方案1】:
    var paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    var documentsDirectory: String = paths[0]
    var finalPath: String = URL(fileURLWithPath: documentsDirectory).appendingPathComponent("myPdf.pdf").absoluteString
    print("\(finalPath)")
    var error: Error? = nil
    var myData = Data(base64Encoded: pdfContent, options: [])
    var url = URL.fileURL(withPath: finalPath)
    if error != nil {
        print("Fail: \(error?.localizedDescription)")
    }
    var mailComposer = MFMailComposeViewController()

    if MFMailComposeViewController.canSendMail() {

        mailComposer.mailComposeDelegate = self
        mailComposer.addAttachmentData(myData!, mimeType: "application/pdf", fileName: "myPdf.pdf")
        self.present(mailComposer, animated: true, completion: nil)
    }

【讨论】:

  • 我添加了委托,但我认为我收到的代码最后一行中的演示问题无法将类型“(_)->()”的值转换为预期的参数类型“(()- > 无效)?'
  • 我在 objc 中尝试过,只是使用转换器进行了转换。等我跑过来告诉你
  • 如果可以运行,我会使用此代码,电子邮件部分不适用于 pdf,如果仅添加文本也无法运行 github.com/kishikawakatsumi/BookReader
  • 用 self.present(mailComposer, animated: true, completion: nil) 替换该行
  • 如果可以的话,你能给我你的电子邮件,以便在聊天中与你联系
猜你喜欢
  • 2018-11-07
  • 1970-01-01
  • 2018-03-13
  • 2019-11-06
  • 2020-04-11
  • 2019-04-03
  • 2013-12-21
  • 1970-01-01
  • 2020-05-16
相关资源
最近更新 更多