Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- swift sms
- native flutter view
- swift autolayout
- 안드로이드 에러
- Swift flutterview
- 스위프트 앨범
- flutter rotate
- Swift flutterviewcontroller
- 안드로이드 숏컷
- 스위프트 테이블 뷰 셀
- NotificationService Extension
- 앱 백그라운드 푸시 데이터 저장
- 앱 꺼졌을 때 푸시 데이터 저장
- FlutterView MethodChannel
- 노티피케이션 익스텐션
- Flutter NativeView
- 스위프트 푸시
- 스위프트 웹뷰
- 플러터 뷰 컨트롤러
- 안드로이드 FCM
- Flutter UIKitView MethodChannel
- 안드로이드 앨범
- 안드로이드 바로가기
- 스위프트
- 스위프트 UserDefaults
- flutter 회전
- 스위프트 카메라
- 푸시 데이터 저장
- silent push
- swift 문자
Archives
- Today
- Total
Things take time
[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로 원하는 데이터 등을 선택할 수 있다.
원하는 것만 선택할 때는 첫 번째 방법대로 하면 되고, 아예 모든 웹 데이터들을 삭제하고 싶다면 주석 부분으로 하면 된다.
[값 얻기]
현재 웹뷰 안에 있는 웹페이지에서 사용하는 쿠키의 값을 얻어오려면
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
'iOS (기능)' 카테고리의 다른 글
[SWIFT] APNS, 푸시에 관한 설정(receive event, click(tap) event) (0) | 2018.01.12 |
---|---|
[SWIFT] AutoLayout, 안드로이드의 Visibility Gone과 같은 옵션 사용하기(컴포넌트 삭제(숨김)시 자동 맞춤) (0) | 2018.01.09 |
[SWIFT] 동영상 플레이어(AVPlayer)로 동영상 재생하기 (0) | 2017.12.19 |
[SWIFT] UITableViewCell 커스터마이징 시 주의점 (0) | 2017.12.12 |
[SWIFT] UI, 두 개의 뷰를 일정 비율로 배치하기(오토레이아웃) (0) | 2017.12.07 |