在swift中将文档保存到"文件"应用程序

ARU*_*MAR 12 xcode swift

我刚刚在我的应用程序中创建了一个pdf文档,我希望以"文件"应用程序可以访问已保存文档的方式将文档保存到设备中.

当我们下载pdf文档时,我看到这是在safari中,有一个选项可以将文档保存到文件应用程序,我需要就像那样

谷歌搜索几个小时,但没有找到任何有用的方法

rba*_*win 14

如果您有权访问,PDFdata那么您可以向用户显示UIActivityViewController他们可以将其保存到的位置Files,或者与任何其他可用选项共享:

let activityViewController = UIActivityViewController(activityItems: ["Name To Present to User", pdfData], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Dev*_*t10 5

最低iOS 11

在iOS 11中引入了“文件”应用程序。当您使用的版本低于iOS 11时,不会显示“保存到文件”选项。用户电话上可用的设置以及您允许的选项。

@available(iOS 11.0, *)
func savePDF() {
    guard let documentData = document.dataRepresentation() else { return }
    let activityController = UIActivityViewController(activityItems: [documentData], applicationActivities: nil)
    self.present(activityController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

这是保存文档的一种方式。您不能强制将其下载并显示在其“文件”应用程序中。您必须提供一个UIActivityViewController显示选项,说明有关该文档的选项。

如果您想排除上显示的任何选项UIActivityViewController,则可以excludedActivityTypes像这样实现。

activityController.excludedActivityTypes = [.airDrop, .postToTwitter]
Run Code Online (Sandbox Code Playgroud)