在iOS9之前,用loadRequest加载本地的html文件的时候会出现如下的警告
Could not create a sandbox extension for /
但是,在iOS9之后,WKWebView提供了如下接口
[WKWebView loadFileURL:allowingReadAccessToURL:]
避免了此问题。
iOS9之前可以用如下的方法解决:
** 先将本地的html文件保存到沙盒的temp文件夹,然后从temp文件夹将html文件取出再使用**
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"];
if(path){
if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
NSURL *fileURL = [NSURL fileURLWithPath:path];
[self.webView loadFileURL:fileURL allowingReadAccessToURL:fileURL];
} else {
NSString *htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSString *temPath = NSTemporaryDirectory();
NSString *filePath = [temPath stringByAppendingPathComponent:@"html.txt"];
[htmlString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString *htmlStr = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
[self.webView loadHTMLString:htmlStr baseURL:nil];
}
}
网友评论