GGWkCookie 0.1.3

GGWkCookie 0.1.3

gaoguohao 维护。



  • gaoguohao

GGWkCookie

CI Status Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 Examples 目录运行 pod install

需求

WKWebView管理cookie很麻烦,经常出现 App自定义cookie值丢失或更新不及时的情况。通过长期踩坑,总结出WKWebview管理cookie的一种方案。

原理:WKWebview支持的插入脚本的方式,在每次页面渲染前,通过插入的Js脚本检测Cookie是否存在,如不存在,将cookie重新种入的思路。

注意:因为考虑避免子域名和根域名cookie重复出现,该方法所有的Cookie值将种在根域名上。

安装

GGWkCookie可通过CocoaPods获取。安装时,只需将以下行添加到 Podfile 中

pod 'GGWkCookie'

使用

1.导入头文件:

#import "GGWkCookie.h"

#import <GGWkCookie/GGWkCookie.h>

2.实现 <GGWkWebViewDelegate> 协议,开启cookie开关 startCustomCookie()

 // 设置cookie代理
 webView.cookieDelegate = self;
 
 // 开启自定义cookie(在loadRequest前开启)
 [webView startCustomCookie];

/// 代理方法中设置 app自定义的cookie
- (NSDictionary *)webviewSetAppCookieKeyAndValue {

    return @{
             @"cookieName":@"value",
             };
}

3.如果代理中的cookie发生改变,调用 reloadCookie() 更新cookie,- (NSDictionary *)webviewSetAppCookieKeyAndValue 代理方法将获取最新的cookie值。

总结: 因此,我们只需要确保代理方法- (NSDictionary *)webviewSetAppCookieKeyAndValue的返回值维护良好,在需要更新的情况下调用reloadCookie()方法即可。

博客地址:https://www.jianshu.com/p/43a1e87a91d5

作者

gaoguohao, [email protected]

许可协议

GGWkCookie遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。