内容:
我有一个使用的iOS Cordova应用程序WKWebView。我需要拦截WKWebView无法使用http|httpsscheme的请求(可以使用,UIWebView但我必须移至WKWebView)。因此,我在科尔多瓦config.xml
<content src="xyz://host.domain.com/app" />
<allow-navigation href="xyz://*/*" />
Run Code Online (Sandbox Code Playgroud)
并且我已经配置WKWebView为处理(拦截)xyz://方案:
[configuration setURLSchemeHandler:self forURLScheme:@"xyz"];
Run Code Online (Sandbox Code Playgroud)
将Safari检查器附加到我的iPhone document.origin输出之后xyz://host.domain.com。
假设一GET对https://host.domain.com/app/foo具有下列头响应:
Set-Cookie: a=1; Domain=host.domain.com; Path=/
Set-Cookie: b=2; Domain=host.domain.com; Path=/; Secure
Set-Cookie: c=3; Domain=host.domain.com; Path=/; Secure; HttpOnly
Run Code Online (Sandbox Code Playgroud)
使用NSURLSessionDataTask做出GET对https://host.domain.com/app/foo我建立NSHTTPCookie从物体Set-Cookie上面的响应报头,并将其存储在WKHTTPCookieStore我的WKWebView使用
[wkWebView.configuration.websiteDataStore.httpCookieStore setCookie:cookie completionHandler:^{
NSLog(@"SET COOKIE\n%@", cookie);
}];
Run Code Online (Sandbox Code Playgroud)
按照这个答案。Cookies设置正确,可以使用进行检索
[wkWebView.configuration.websiteDataStore.httpCookieStore …Run Code Online (Sandbox Code Playgroud)