[SWIFT, IOS] [SWIFT] WKWebview 쿠키, 세션, 로컬스토리지 등 웹 데이터 삭제 및 값 얻어오기

[코드]

 

let websiteDataTypes = NSSet(array: [WKWebsiteDataTypeDiskCache, WKWebsiteDataTypeMemoryCache, WKWebsiteDataTypeCookies])
let date = NSDate(timeIntervalSince1970: 0)
WKWebsiteDataStore.default().removeData(ofTypes: websiteDataTypes as! Set, modifiedSince: date as Date, completionHandler:{ })
print("delete cache data")
/* 모든 열어본 페이지에 대한 데이터를 모두 삭제
WKWebsiteDataStore.default().fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), completionHandler: {
    (records) -> Void in
    for record in records{
        WKWebsiteDataStore.default().removeData(ofTypes: record.dataTypes, for: [record], completionHandler: {})
        print("delete cache data")
    }
})
*/

중요한 점은 websiteDataTypes에 들어가는 array에서 WKWebsiteDataTypeXXXX로 원하는 데이터 등을 선택할 수 있다.

 

 

원하는 것만 선택할 때는 첫 번째 방법대로 하면 되고, 아예 모든 웹 데이터들을 삭제하고 싶다면 주석 부분으로 하면 된다.

 

 

[값 얻기]

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

현재 웹뷰 안에 있는 웹페이지에서 사용하는 쿠키의 값을 얻어오려면

        WKWebsiteDataStore.default().httpCookieStore.getAllCookies({
            (cookies) in
            for cookie in cookies{
                print("WKWebsiteDataStore cookie : \(cookie.name) // \(cookie.value)")
            }
        })

비슷한 예로 HTTPCookieStorage라는 클래스를 이용하여 얻어오는 것도 있는데, 값이 제대로 리턴되지 않는다.

이유는 찾기가 어려웠고.. 일단은 삭제하던 클래스와 마찬가지로 WKWebsiteDataStore를 이용하는 것이 나을 듯 하다.

 

참고 : https://stackoverflow.com/questions/41765322/wkwebview-pick-cookies-from-nshttpcookiestorage

[출처] https://g-y-e-o-m.tistory.com/83

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
16 [Etc IOS LIB] ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension file 졸리운_곰 2024.04.12 2
15 [아이폰 앱 개발] [iOS / Error] Failed to render and update auto layout... 에러 해결 file 졸리운_곰 2024.03.29 4
14 [mac c/c++] M1 맥북 vscode C/C++ 개발환경 세팅 file 졸리운_곰 2024.01.07 6
13 [apple IOS] 개발/iOS 기기없이 빌드 아카이브 생성하기 file 졸리운_곰 2023.10.01 2
12 [아이폰 앱 개발] [flutter 설치시] sudo gem install cocoapods 에러시 error 졸리운_곰 2023.04.09 7
11 [아이폰 앱 개발] [AppStore] 앱스토어에 앱 등록하는 방법을 모르겠다. file 졸리운_곰 2023.03.26 6
10 [아이폰 앱 개발] Swift) Localizing - 다국어 처리하기 file 졸리운_곰 2023.03.21 21
9 [아이폰 앱 개발] Creating A Simple Web View App For iOS file 졸리운_곰 2023.03.21 3
8 [아이폰 앱 개발] Swift, Objective-C, C++ 같이 사용하기 file 졸리운_곰 2021.11.21 141
7 [swift ios] Inject JavaScript into WKWebView : webview에 javascript 삽입 졸리운_곰 2021.05.15 141
6 [SWIFT, IOS] [SWIFT] 웹뷰와 자바스크립트 연동 (Native <-> JavaScript 통신 방법) file 졸리운_곰 2021.05.14 35
» [SWIFT, IOS] [SWIFT] WKWebview 쿠키, 세션, 로컬스토리지 등 웹 데이터 삭제 및 값 얻어오기 file 졸리운_곰 2021.05.14 290
4 Emscripten 가지고 놀기 1. (feat. CodeLite) file 졸리운_곰 2018.12.01 116
3 How To Make an App For Your Website In Less Than 30 Minutes file 졸리운_곰 2018.09.03 244
2 chartboost 란 : 앱의 광고 모듈으로써... file 졸리운_곰 2014.12.01 560
1 Objective - C 의 요약정리문서 - 박종암 저 file 졸리운_곰 2014.05.31 532
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED