你是否遇到這樣的情況?之前用多個UIWebView加載同一類網址作跳轉效果,但是升級成WkWebView后發現關聯不到一起了,這是因為UIWebView的緩存數據是系統的,大家共用 但是WkWebView是獨立的,所以你就無法關聯了。怎么解決呢?就是讓WKWebView 共用Sessionid
WKProcessPool這個屬性就是WKWebView的數據池,讓WKWebView共用就好了,需要把WKProcessPool定義成單例
這里寫了一個WKProcessPool的分類
.h
#import <WebKit/WebKit.h>
@interface WKProcessPool (SharedProcessPool)
+ (WKProcessPool*)sharedProcessPool;
@end
.m
#import "WKProcessPool+SharedProcessPool.h"
@implementation WKProcessPool (SharedProcessPool)
+ (WKProcessPool*)sharedProcessPool {
static WKProcessPool* SharedProcessPool;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
SharedProcessPool = [[WKProcessPool alloc] init];
});
return SharedProcessPool;
}
@end
然后設置一下就好了
WKWebViewConfiguration* configuration = [[NSClassFromString(@"WKWebViewConfiguration") alloc] init];
configuration.processPool = [WKProcessPool sharedProcessPool];
WKWebView* webView = [[NSClassFromString(@"WKWebView") alloc] initWithFrame:self.bounds configuration:configuration];
