将文档保存到"文件"应用程序迅速

时间:2018-05-02 06:35:47

标签: swift xcode

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

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

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

3 个答案:

答案 0 :(得分:10)

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

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

enter image description here

答案 1 :(得分:3)

iOS 11的最低版本

iOS 11中引入了Files应用程序。当您使用的版本低于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)
}

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

enter image description here

如果您要排除UIActivityViewController上显示的任何选项,请像这样实现excludedActivityTypes

activityController.excludedActivityTypes = [.airDrop, .postToTwitter]

答案 2 :(得分:-1)

尝试UIDocumentInteractionController

let doc = UIDocumentInteractionController(url: url)
doc.presentOptionsMenu(from:in:animated:)

有一个名为save to Files的选项。