适配WKWebview时遇到一个bug,web页面A中H5存储数据,在web页面B中H5拿不到之前存储的数据,问H5端同事了解到是用cookie存储的数据。
解决方案:
web页面A和B共用一个processPool,代码如下
//定义一个processPool单例
+(WKProcessPool*)sharedProcessPool{
static WKProcessPool *processPool = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (!processPool) {
processPool = [[WKProcessPool alloc] init];
}
});
return processPool;
}
// 初始化wkwebview时使用该单例
//1.创建配置项
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
......
......
config.processPool = [WebViewController sharedProcessPool];
self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, 100, 100) configuration:config];