无法确定URL是否由文件提供商管理

时间:2018-09-22 13:22:08

标签: swift uiactivityviewcontroller

两天以来我遇到了这个问题

我尝试了很多,

https://stackoverflow.com/a/51764198/10392572

https://stackoverflow.com/a/46457518/10392572

https://stackoverflow.com/a/51218715/10392572

如果我是对的,则UIActivityViewController需要一个文件的url数组,而documentInteractionController需要一个url,两者都询问用户他想做什么,但是每次,如果用户使用“保存到文件” “我有:

  

[默认] [错误]无法确定URL / Users / lukashedinger / Library / Developer / CoreSimulator / Devices / 45A185C5-6DEA-4A52-B415-939758FB7F7E / data / Containers / Data / Application / D4E32740-958D-43A6 -BEC1-EECEB8CF732D / tmp / Vitalstoffwerte 22092018-22092018.pdf(n)由文件提供商管理

任何人都知道是否还有其他方法可以询问用户,他想在哪里保存文件或者我可以如何处理错误?

简而言之,这是我的代码吗?

    let dateiName = "Vitalstoffwerte " + heuteString
    let path = "\(NSTemporaryDirectory())\(dateiName).pdf"

    pdfData.write( toFile: path, atomically: true)

    let fileUrl: URL = URL(fileURLWithPath: path)
    let activityViewController = UIActivityViewController(activityItems: [fileUrl], applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = self.view
    self.present(activityViewController, animated: true, completion: nil)

-------更新:找到了解决我的问题的方法,但是没有解决文件-----

我已经将pdfData直接提供给ViewController,还没有将其保存到文件中。

UIActivityViewController(activityItems:[pdfData],applicationActivities:nil)

我没有使用文件,对我来说足够了

-更新-

我的新想法是,首先尝试保存文件并尝试使用URL,如果失败,则直接使用pdfData,因为在某些模拟器中使用URL不会出错,而在其他模拟器中则可以出错。

更多信息:https://stackoverflow.com/a/52499637/10392572

1 个答案:

答案 0 :(得分:1)

我在模拟器上遇到了同样的问题。但是,当我在真实设备上尝试运行时,它按预期运行。