两天以来我遇到了这个问题
我尝试了很多,
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不会出错,而在其他模拟器中则可以出错。
答案 0 :(得分:1)
我在模拟器上遇到了同样的问题。但是,当我在真实设备上尝试运行时,它按预期运行。