WKWebview 如何载入本地文件
最近在开发的过程中遇到 bundle 中的 html 文件,真机上不能运行,查看文档针对 WKWebview 载入localfile的描述,其中可以使用以下方法来载入。
/*! @abstract Navigates to the requested file URL on the filesystem.
@param URL The file URL to which to navigate.
@param readAccessURL The URL to allow read access to.
@discussion If readAccessURL references a single file, only that file may be loaded by WebKit.
If readAccessURL references a directory, files inside that file may be loaded by WebKit.
@result A new navigation for the given file URL.
*/
- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL API_AVAILABLE(macosx(10.11), ios(9.0));
但是,这个只是 iOS 9 的方法,iOS8 怎么办?
在网上可以搜索到 在 temp 中可以使用
/*! @abstract Navigates to a requested URL.
@param request The request specifying the URL to which to navigate.
@result A new navigation for the given request.
*/
- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;
temp 目录由于系统会自动删除目录中的内容,所以 iOS 9 系统还是应该使用 loadFileURL: allowingReadAccessToURL
针对 iOS 8 系统使用 temp 文件, iOS 9 使用 loadFileURL: allowingReadAccessToURL 载入 bundle 中html
文件更新?
本地文件保存目录包含 document、library、temp
temp 目录由于系统会自动删除目录中的内容,由于我们更新的文件适合放在 document 和 library 目录下,但是由于 document 会进行 cloud 同步。
html 更新文件 统一放入 library 中,iOS 8 启动时移动至 temp 目录, iOS 9 直接从 library 目录读取
网友评论