临时目录中的本地文件上的openURL不执行任何操作

时间:2016-10-04 23:43:10

标签: swift openurl

我将下载的PDF文件保存到设备上的临时目录中,并获取生成文件的URL:

file:///Users/colinbasnett/Library/Developer/CoreSimulator/Devices/A057DDAD-B116-424B-8383-442321530EEC/data/Containers/Data/Application/A0AEF93A-5B1D-4CB4-B39F-F6DFECEDD9E9/tmp/FF5C09A9-45CD-454E-B55A-4F5CEBFEBC7F-24875-000014B657DC6436/23659.pdf

fileURL是表示上述路径的有效NSURL对象,我称之为:

UIApplication.sharedApplication().openURL(fileURL)

没有任何反应。

尽管如此,以下调用返回true

UIApplication.sharedApplication().canOpenURL(fileURL)  // returns true

理想情况下,这将在Safari或任何首选的浏览器应用程序中打开。有趣的是,我可以手动打开Safari,将该目录粘贴到地址栏中,然后就可以显示PDF。

我使用的是Swift 2.2(由于依赖关系尚未升级,因此无法切换到3)。

1 个答案:

答案 0 :(得分:1)

我认为问题在于openURL()想要启动一个单独的应用程序,但是您传递的是指向沙箱中文件的file:网址。我怀疑UIDocumentInteractionController可能更像你所追求的。