首页 > 解决方案 > 设备上的 WebView 目录访问被拒绝

问题描述

我将 html 文件和资产保存到文档目录中的特定文件夹中。当允许对父目录进行读取访问时,模拟器能够在 WebView 中加载这些资产。在真实设备上运行相同的代码会产生“从 Web 进程接收到意外的 URL”,就好像我没有授予对目录的读取权限一样。我已经四处搜索,但没有找到为什么实际设备上的行为不同的原因。我们目前正在开发 iOS 11

这是在模拟器中有效但在真实设备上无效的片段。任何帮助或见解表示赞赏。

let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
documentsDirectory = URL(fileURLWithPath: paths[0])

presentationView.loadFileURL(presentation, allowingReadAccessTo: documentsDirectory)

标签: swiftios11wkwebview

解决方案


经过一些修补后,我能够验证授予 WKWebView 的读取访问权限在实际设备上的行为不同。

在模拟器中,允许对文档文件夹进行读取访问会授予对子目录的读取访问权限。

在实际设备上,授予对文档文件夹的读取权限不会尊重子目录。授予对子目录的读取权限解决了我的问题。

如果有更好的解决方法,请告诉我!


推荐阅读