先来段html文件(此html直接加载的真机沙盒目录下的一张图,用WKWebView 加载无法显示)
<p><img src="file:///var/mobile/Containers/Data/Application/730FD9B2-FC0C-409D-981D-C230B53D1FD1/Documents/maya_cache/ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg"></p>
原因:貌似是WebKit现在的bug
解决办法:本地开了一个类似Apache服务器(亲测有效)
步骤如下:
- 集成一个工具
pod 'GCDWebServer', '~> 3.0'
- 开启一个本地服务器 (只写了问题相关的代码)
#import <GCDWebServer/GCDWebServer.h>// 本地服务器
@interface AppDelegate ()
@property (nonatomic,strong) GCDWebServer *webSever;
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.webSever startWithPort:80 bonjourName:nil];
}
- (GCDWebServer *)webSever{
if (!_webSever) {
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES) objectAtIndex:0];
_webSever = [[GCDWebServer alloc]init];
[_webSever addGETHandlerForBasePath:@"/" directoryPath:documentPath indexFilename:nil cacheAge:3600 allowRangeRequests:YES];// 此处设置本地服务器根目录
}
return _webSever;
}
@end
- 访问沙盒内容时通过服务器路径访问:
<p><img src="http://localhost/maya_cache/ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg"></p>
方便大家理解,下面是更改前后对比
// 不显示
<p><img src="file:///var/mobile/Containers/Data/Application/730FD9B2-FC0C-409D-981D-C230B53D1FD1/Documents/maya_cache/ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg"></p>
// 显示
<p><img src="http://localhost/maya_cache/ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg"></p>
总述:解决的关键就是资源路径~~~。。。。。。
备注:
- ' /maya_cache ' 是我建在 Documents 目录下的一个文件夹
-
http://localhost/ 位置是本地服务器根目录 即之前设置的 Documents
- [_webSever addGETHandlerForBasePath:@"/" directoryPath:documentPath indexFilename:nil cacheAge:3600 allowRangeRequests:YES];// 此处设置本地服务器根目录
end 结束~~~(wkwebview坑死啦,特么的~~~~~)
网友评论