[ios] UIWebView의 모든 쿠키를 삭제하는 방법은 무엇입니까?

내 응용 프로그램에는 UIWebview로그인을 위해 링크드 인 인증 페이지를로드 하는 것이 있습니다. 사용자가 로그인하면 쿠키가 애플리케이션에 저장됩니다.

내 앱에 연결된 로그인과 관련이없는 로그 아웃 버튼이 있습니다. 따라서 사용자가이 버튼을 클릭하면 앱에서 로그 오프됩니다. 이 로그 오프가 앱에서도 그의 링크드 인 쿠키를 지워서 사용자가 완전히 로그 아웃하기를 바랍니다.



답변

에 따르면 이 질문에 , 당신은 “쿠키 항아리”에 각 쿠키를 통해 갈 수과 같이, 삭제 :

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
   [storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];


답변

이것에 관한 정보를 추가하고 싶었습니다.

에서 OS X 10.9 / 아이폰 OS 7 이상, 당신은 사용할 수 있습니다 -resetWithCompletionHandler을 : 쿠키 및 캐시 등 당신의 전체 응용 프로그램의 선택을 취소 sharedSession:

모든 쿠키, 캐시 및 자격 증명 저장소를 비우고, 디스크 파일을 제거하고, 진행중인 다운로드를 디스크로 플러시하고, 향후 요청이 새 소켓에서 발생하도록합니다.

[[NSURLSession sharedSession] resetWithCompletionHandler:^{
    // Do something once it's done.
}];

에 대한-에서 루프deleteCookie:같은 소리 컬렉션을 열거하는 동안 수정 나에게. (모르겠어요, 나쁜 생각일까요?)


답변

WebView의 html 내에 쿠키를 정리하는 함수를 만들 수 있습니다.

청소를 한 번만 수행해야하는 경우 앱이 시작될 때만 Titanium 이벤트로이 기능을 트리거 할 수 있습니다.


답변

누구든지 Swift Solution을 찾고 있다면 :

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


답변