在我们的应用程序中,我们使用 readium 库 SDK 来加载 epub 文件。 WKWebview 无法加载 epub 文件,因为 epub 已从服务器下载并保存在文档路径中。
WKwebview 在访问该文件时出现问题。
注意:- 同样适用于模拟器,但不适用于真实设备。
控制台日志如下:
从 Web 进程收到意外 URL:'file:///var/mobile/Containers/Data/Application/C2D90ACC-D0C9-4D52-A4C8-B6EB7181DB9E/Documents/Books/81004325324010/C8FFB99F71D319A460F954F2C12EA296/content8-2aabc31 3199-4275-aed2-e7fbf57d626e/OEBPS/Text/cover.htm' 2020-01-23 20:13:27.800321+0530 Papyrus[819:168410] [进程] 0x102130c18 - WebPageProxy::忽略加载此主要资源的请求,因为它在沙箱之外 2020-01-23 20:13:27.800395+0530 Papyrus[819:168410] [进程] kill() 返回意外错误 1
最佳答案
这是一个权限问题,可能是 WKWebView 的错误,但以下步骤对我有用。
[1] 获取权限,
使用需要访问权限的基本路径 URL 调用 loadFileURL
函数。
open func loadFileURL(_ URL: URL, allowingReadAccessTo readAccessURL: URL) -> WKNavigation?
[2] 加载您的 HTML 内容,
在具有相同基本路径 URL 的 loadFileURL
函数之后调用 loadHTMLString
函数来加载内容。
open func loadHTMLString(_ string: String, baseURL: URL?) -> WKNavigation?
关于ios - WKWeb View : Ignoring request to load this main resource because it is outside the sandbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59881415/