2017-01-13 7 views
1

私はすべてのことを試みましたが、plzを働かせなかったので、重複として印を付けてください。iOSアプリでSafariのキャッシュをクリアするにはどうすればよいですか?

私のアプリはログインしている間にログインしていますが、以前のログインしたアカウントはすべて取得しています。それらのアカウントを削除するには?

ありがとうございます。

//MARK:- clear Cache 
       URLCache.shared.removeAllCachedResponses() 
       URLCache.shared.diskCapacity = 0 
       URLCache.shared.memoryCapacity = 0 
       self.deleteCoreData() 

       GIDSignIn.sharedInstance().disconnect() 
       GIDSignIn.sharedInstance().signOut() 
       for cookie in HTTPCookieStorage.shared.cookies! { 
        HTTPCookieStorage.shared.deleteCookie(cookie) 
       } 

       // Removes cache for all responses 
       URLCache.shared.removeAllCachedResponses() 

申し訳ありませんが重複した質問については上記のコードを試しましたが、動作しません。私が間違っているところは誰でも案内してくれますか? もう一度ありがとうございます。

答えて

0

例えば、認証に関連し、特定のCookieを削除するようにしてください:

var cookieProperties = [HTTPCookiePropertyKey:String]() 
cookieProperties[.name] = "<cookie_name>" 
cookieProperties[.domain] = "<domain>" 
cookieProperties[.originURL] = "<origin_url>" 
// <... etc ...> 
if let cookie = HTTPCookie(properties: cookieProperties) { 
    HTTPCookieStorage.shared.deleteCookie(cookie) 
} 

またはちょうどそれがあなたのケースでは問題ではない場合は、すべてのクッキーを削除:スウィフト3.0の

if let cookies = HTTPCookieStorage.shared.cookies { 
    for cookie in cookies { 
     HTTPCookieStorage.shared.deleteCookie(cookie) 
    } 
} 
+2

質問はタグ付きスウィフトではなく、Objective-Cです。適切な言語で回答を投稿することをお勧めします。 – rmaddy

+0

さて、指摘していただきありがとうございます。スウィフトタグに気付かなかった。 – degapps

1

、明確なすべてのURLキャッシュとこのようなクッキーは

URLCache.shared.removeAllCachedResponses() 

if let cookies = HTTPCookieStorage.shared.cookies { 
    for cookie in cookies { 
     HTTPCookieStorage.shared.deleteCookie(cookie) 
    } 
} 
関連する問題