Ios 与UIActivityViewController共享PDF-文件名

Ios 与UIActivityViewController共享PDF-文件名,ios,swift,xcode,pdf,uiactivityviewcontroller,Ios,Swift,Xcode,Pdf,Uiactivityviewcontroller,我正在创建PDF并通过UIActivityViewController共享它 func createFlyer() -> Data { // 1 let pdfMetaData = [ kCGPDFContextCreator: "Flyer", ] let format = UIGraphicsPDFRendererFormat() format.documentInfo = pdfMetaData as [String: Any] // 2 le

我正在创建PDF并通过
UIActivityViewController
共享它

func createFlyer() -> Data {
  // 1
  let pdfMetaData = [
    kCGPDFContextCreator: "Flyer",
  ]
  let format = UIGraphicsPDFRendererFormat() 
  format.documentInfo = pdfMetaData as [String: Any]

  // 2
  let pageWidth = 8.5 * 72.0
  let pageHeight = 11 * 72.0
  let pageRect = CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight)

  // 3
  let renderer = UIGraphicsPDFRenderer(bounds: pageRect, format: format)
  // 4
  let data = renderer.pdfData { (context) in
    // 5
    context.beginPage()
    // 6
    let attributes = [
      NSAttributedString.Key.font: UIFont.boldSystemFont(ofSize: 72)
    ]
    let text = "I'm a PDF!"
    text.draw(at: CGPoint(x: 0, y: 0), withAttributes: attributes)
  }

  return data
}

func sharePDF () {
    let activityViewController = UIActivityViewController(
        activityItems: [data],  applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivity.ActivityType.saveToCameraRoll]

    if let popoverPresentationController = activityViewController.popoverPresentationController {
        popoverPresentationController.barButtonItem = self.sharePDFButton
    }
    self.present(activityViewController, animated: true, completion: {
    })   
}
除了由系统生成的文件名('PDF Document.PDF')之外,一切正常


有没有一种方法可以自定义文件名?

还没有测试过这一点,可能有更好的方法可以实现这一点,但您可以先尝试将文件保存到临时文件夹中。像这样:不是最方便的方式,但似乎很有效。