一:NSHTTPCookie:HTTP是一种无状态的协议,存储一些信息的条目,一个cookie是一条信息。二二:NSHTTPCookieStorage: 以单例的形式存在,用来存储和管理的cookies。
三:WKHTTPCookieStore: ios 11及以上,代替NSHTTPCookieStorage
if (@available(iOS 11.0, *)) {
WKHTTPCookieStore *cookieStroe = self.wkwebView.configuration.websiteDataStore.httpCookieStore;
[cookieStroe setCookie:cookie completionHandler:^{
}];
}else {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
四:WKProcessPool:进程池。因为默认情况下,每初始化一个wkwebview,都会在单独的processPool中,从而数据不共享。所以让所有WKWebView共享同一个WKProcessPool实例,实现多个WKWebView之间共享cookie数据。(注:同一个WKProcessPool实例,所以通常写成单例的形式:WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init]; configuration.processPool = [OBJC shareInstance].processPool;).
五:WKWebViewConfiguration,配置信息。
-
提供给您的网络内容的初始cookie
您的Web内容使用的任何自定义URL方案的处理程序
如何处理媒体内容的设置
有关如何在网络视图中管理选择的信息
自定义脚本注入网页
决定如何渲染内容的自定义规则
您可以在代码中创建一个WKWeb
对象,配置其属性,并将其传递给WKWeb对象的初始化器。Web视图仅在创建时包含您的配置设置;您以后无法动态更改这些设置