WKWebview 在重定向时 cookie 丢失
1.WKWebview 在重定向时 cookie 丢失:
1.在 WKWebview 的 viewDidLoad 里注册
// WKWebView 拦截request,添加cookie
[NSURLProtocol wk_registerScheme:@"http"];
[NSURLProtocol wk_registerScheme:@"https"];
2.重写NSUrlProtocol的一个抽象方法
+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request
{
NSMutableURLRequest *mutableReqeust = [request mutableCopy];
NSMutableDictionary *cookieDic = [NSMutableDictionary dictionary];
NSMutableString *cookieValue = [NSMutableString stringWithFormat:@""];
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [cookieJar cookies]) {
[cookieDic setObject:cookie.value forKey:cookie.name];
}
// cookie重复,先放到字典进行去重,再进行拼接
for (NSString *key in cookieDic) {
NSString *appendString = [NSString stringWithFormat:@"%@=%@;", key, [cookieDic valueForKey:key]];
[cookieValue appendString:appendString];
}
[mutableReqeust addValue:cookieValue forHTTPHeaderField:@"Cookie"];
return mutableReqeust;
}
参考:http://www.cnblogs.com/sjxjjx/p/7928363.html
2.duplicate symbol _ID in
解析:项目里有两个类里存在了同样的 ID. 可更改其中一个.
3.控制器视图顶部有20pt 高度的空白
解决:
在 ViewDidLoad 里加上:self.edgesForExtendedLayout=UIRectEdgeNone;
网友评论