1.定義一個方法伺帘,方法名setTheCookieOfWebView凑队,方法具體實現(xiàn)如下:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
//先刪除Userid的cookie(你自己那邊表示登錄狀態(tài)的name)
[self.myWebView evaluateJavaScript:@"document.cookie='Userid =;expires=Thu, 01 Jan 1970 00:00:00 GMT; Domain=.baidu.com; path=/'" completionHandler:nil];
for (NSHTTPCookie *cookie in [cookieStorage cookies]) {
NSString *nameStr = [NSString stringWithFormat:@"document.cookie='%@=%@;expires=Wed, 25 Sep 2075 17:05:15 GMT;domain=%@;path=%@;verson=%lu;'",cookie.name,cookie.value, cookie.domain, cookie.path, (unsigned long) cookie.version];
[self.myWebView evaluateJavaScript:nameStr completionHandler:nil];
}
2.在wkwebview的代理中添加上面寫的方法及可则果。
/* 開始返回內(nèi)容 */
-- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation{
[self setTheCookieOfWebView];
NSLog(@"開始返回內(nèi)容");
}
ps:wkwebview的坑還是比較多的,特別是cookie的問題,每次請求的時候不會自動帶西壮,所以采用了另外一種思路遗增,直接取本地的cookie注入js的document,也解決了web有時候取不到cookie的問題款青。暫時沒發(fā)現(xiàn)什么問題做修,如有問題歡迎留言討論。
項目接近尾聲了抡草,wkwebview的封裝也差不多了饰及,等有時間整理下把js和web的交互寫下。