我看到的不良行为是,如果我登录一个用户,一切顺利,然后我将其注销并重新登录,WKWebVIEw认为用户仍然登录,并将它们带到不需要的URL.
在iOS 9中,减轻这一点是相当简单的:
let config = WKWebVIEwConfiguration()config.websiteDataStore = WKWebsiteDataStore.nonPersistentDataStore()let webVIEw = WKWebVIEw(frame: .zero,configuration: config)
然而在iOS 8.4中,确保每次用户加载单点登录网址时,cookie都清晰,这一点比较复杂.
我尝试过在NShttpcookiestorage.sharedhttpcookiestorage()中循环访问cookie的方法,并将其删除.不幸的是,cookie计数为0.
我也尝试删除NSfileManager.defaultManager()中的/ cookies目录.这也不行.
有一件事情是做了以下工作.虽然这种方法不允许我获得标题,因为登录后需要重定向才能发生,并且这种干扰(在iOS 9和8.4中)
req = NSMutableURLRequest(URL: url)req?.httpShouldHandlecookies = falselet webVIEw = WKWebVIEw()webVIEw.loadRequest(req ?? NSURLRequest(URL: url))
我希望在我的观点的deinit中清除cookies,如果这是一个可能的解决方案,我的WKWebVIEw.
解决方法 这可能是一个漫长的时间,但是在登录时,如何覆盖cookie接受策略来拒绝所有的cookie?NShttpcookiestorage.sharedhttpcookiestorage().cookieAcceptPolicy = .Never
另一个想法是使用自定义的WKProcesspool子类(这不是真正的记录)手动管理cookie.我相信这是Firefox如何管理任何cookie问题.
总结以上是内存溢出为你收集整理的在iOS 8.4上清除WKWebView的Cookie全部内容,希望文章能够帮你解决在iOS 8.4上清除WKWebView的Cookie所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)