내 응용 프로그램에는 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:
같은 소리 컬렉션을 열거하는 동안 수정 나에게. (모르겠어요, 나쁜 생각일까요?)
누구든지 Swift Solution을 찾고 있다면 :
let storage = HTTPCookieStorage.shared
if let cookies = storage.cookies{
for cookie in cookies {
storage.deleteCookie(cookie)
}
}