wkwebview 文件服务器,WKWebView 加载沙盒图片和音视频文件失败

先来段html文件(此html直接加载的真机沙盒目录下的一张图,用WKWebView 加载无法显示)

原因:貌似是WebKit现在的bug

解决办法:本地开了一个类似Apache服务器(亲测有效)

步骤如下:

集成一个工具

pod 'GCDWebServer', '~> 3.0'

开启一个本地服务器 (只写了问题相关的代码)

#import // 本地服务器

@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

访问沙盒内容时通过服务器路径访问:

ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg

方便大家理解,下面是更改前后对比

// 不显示

// 显示

ac55af3116d2c8586f7f7c112cd9d39db58b65be880993daead3f26bb8d3829c1e2ceee56756195534f1bb6d66a9c6cc9cbc72ac871439717e4b63880d9c9a28.jpg

总述:解决的关键就是资源路径~~~。。。。。。

备注:

' /maya_cache ' 是我建在 Documents 目录下的一个文件夹

http://localhost/ 位置是本地服务器根目录 即之前设置的 Documents

[_webSever addGETHandlerForBasePath:@"/" directoryPath:documentPath indexFilename:nil cacheAge:3600 allowRangeRequests:YES];// 此处设置本地服务器根目录

end 结束~~~(wkwebview坑死啦,特么的~~~~~)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值