我尝试使用WKWebViewController,但仍无法正常工作。
url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];
WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];
controllerweb.url = url;
答案 0 :(得分:2)
无法在SFSafariViewController中显示本地pdf,但可以在WKWebView中显示它。 SFSafariViewController仅支持http和https方案。
来自SFSafariViewController documentation:
如果您的应用允许用户从Internet上的任何位置查看网站,请使用SFSafariViewController类。如果您的应用程序自定义,交互或控制Web内容的显示,请使用WKWebView类。
来自SFSafariViewController init(url:) documentation:
网址必须使用http或https方案。
要在WKWebView中显示本地pdf文件,您可以执行类似于以下代码的操作:
let mainBundle:Bundle = Bundle(for: WKWebContainerView.self)
let path = mainBundle.path(forResource: "sample", ofType: "pdf")
let pdfUrl = URL(fileURLWithPath: path!)
let folderUrl = URL(fileURLWithPath: mainBundle.bundlePath, isDirectory: true)
webView.loadFileURL(pdfUrl, allowingReadAccessTo: folderUrl)