在这些问题(question 1 和question 2)中,我们回答了如何使用网址方案或如何使用文档交互控制器来显示pdf。关于第一个问题,有一个关于使用正确的路径传递给open函数的讨论,尽管其他线程说这个功能还没有实现(here),我觉得它是可行的我知道它已经老了但是它没有回答。
所以我要做的是打开我应用程序文档文件夹中的文件。我已经设置了属性LSSupportsOpeningDocumentsInPlace和UIFileSharingEnabled,因此adobe reader能够从我的文档文件夹中打开我的文件,而不是创建一个新的副本,并且与文档交互控制器配合得很好,但如果尝试打开它打开它命令它只是打开没有文件的adobe reader应用程序。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let fileURL = list[indexPath.row]
// Option 1 Open it using Document Interaction Controller
//let controller = UIDocumentInteractionController(url: fileURL)
//controller.delegate = self
//controller.presentPreview(animated: true)
// Option 2 Use URL Scheme
//let filePath = "com.adobe.adobe-reader://" + fileURL.absoluteString
//let filePath = "com.adobe.adobe-reader://" + String(fileURL.absoluteString.dropFirst(8))
let filePath = "com.adobe.adobe-reader://" + fileURL.path
UIApplication.shared.open(URL(string: filePath)!)
}
这是我传递给open方法的路径
“com.adobe.adobe阅读器:///var/mobile/Containers/Data/Application/605AC702-F476-4108-8C54-AB2A3E0E2F15/Documents/OoPdfFormExample.pdf”
有什么建议吗?或者你注意到了什么问题?
我的目标是iOS 11.2