【Swift】WKWebViewでCookieを全削除する方法
背景
iPhoneでデモアプリを作成している際に、Cookieをすべて削除する必要が出てきました。
let storage = NSHTTPCookieStorage.sharedHTTPCookieStorage()
for cookie in storage.cookies!{
storage.deleteCookie(cookie)
}
こんな感じのことも試したんですが、そもそもCookie作ってるのに、存在していない模様。いろいろ調べたんですがObjective-Cの記事ばかりだったので、それを参考にして解決しました。
解決方法
let libraryPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let cookiesFolderPath = libraryPath.stringByAppendingString("/Cookies")
do {
try NSFileManager.defaultManager().removeItemAtPath(cookiesFolderPath)
}catch {
// error handling
}
Cookieはシミュレータ上では、Mac上のディレクトリに保存されているようです。ですので、そのディレクトリのパスを取得し、その中身をすべて消すという方でとりあえず解決しました。
実機でやったらどうなるんでしょうか、やってみた方がいらっしゃればコメントいただけると幸いです。
Author And Source
この問題について(【Swift】WKWebViewでCookieを全削除する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/_mogaming/items/68acc1402bcbc66fb794著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .