ios webview登录最重要的就是将登陆之后的cookie存起来
在ios12之前我们登录都能正常从- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler方法中取到response之后,直接处理成cookie存起来
但是ios12开始 此方法登录就取不到response里最重要的set-cookie的值 我们就只能在h5那边登录之后的页面取到cookie经过字符串处理 将他们存起来
1 | -(void)loginSuccess:(NSHTTPURLResponse*)response orWithCookie:(NSString*)cookie{ |
字符串处理cookie
1 | - (NSString *)achieveStringWithRootString:(NSString *)rootString key:(NSString *)key{ |
ps:在登录、登出中清除cookie跟userdefault中的值的时候要避免清除其他有用的值 否则会导致userdefault值的丢失 造成很奇怪的bug