是否可以在SFSafariViewController上加载本地pdf文件?

时间:2016-04-13 19:59:27

标签: objective-c sfsafariviewcontroller

我尝试使用WKWebViewController,但仍无法正常工作。

url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];

WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];

controllerweb.url = url;

1 个答案:

答案 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)