Notice
Recent Posts
Recent Comments
Link
투케이2K
115. (ios/swift) [재등록] 웹뷰 (wkwebview) 캐시 초기화 방법 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// -----------------------------------------
// [전체 방문 데이터 지우기]
/*WKWebsiteDataStore.default().fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), completionHandler: {
(records) -> Void in
for record in records{
WKWebsiteDataStore.default().removeData(ofTypes: record.dataTypes, for: [record], completionHandler: {})
print("")
print("===============================")
print("[A_Main >> init_WebView() :: 웹뷰 초기 설정 값 정의 실시 및 웹뷰 로드 수행]")
print("type :: removeData")
print("로직 :: 사전 전체 방문 데이터 삭제됨")
print("===============================")
print("")
}
})*/
// -----------------------------------------
// [원하는 데이터만 골라서 삭제]
let websiteDataTypes = NSSet(array:
[WKWebsiteDataTypeDiskCache, // 디스크 캐시
WKWebsiteDataTypeMemoryCache, // 메모리 캐시
WKWebsiteDataTypeCookies, // 웹 쿠키,
WKWebsiteDataTypeOfflineWebApplicationCache, // 앱 캐시
WKWebsiteDataTypeWebSQLDatabases, // 웹 SQL 데이터 베이스
WKWebsiteDataTypeIndexedDBDatabases // 데이터 베이스 정보
//WKWebsiteDataTypeLocalStorage // 로컬 스토리지
//WKWebsiteDataTypeSessionStorage // 세션 스토리지
])
let date = NSDate(timeIntervalSince1970: 0)
WKWebsiteDataStore.default().removeData(ofTypes: websiteDataTypes as! Set, modifiedSince: date as Date, completionHandler:{
print("")
print("===============================")
print("[A_Main >> init_WebView() :: 웹뷰 초기 설정 값 정의 실시 및 웹뷰 로드 수행]")
print("type :: removeData")
print("로 직 :: 사전 캐시 및 세션 데이터 삭제 수행됨")
print("===============================")
print("")
})
// -----------------------------------------
// [설치된 날짜 가져오는 코드]
let urlToDocumentsFolder: URL? = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last
let installDate = try? FileManager.default.attributesOfItem(atPath: (urlToDocumentsFolder?.path)!)[.creationDate] as! Date
// [설치된 날짜부터 지금까지의 cookie all clear]
URLSession.shared.configuration.httpCookieStorage?.removeCookies(since: installDate!)
print("")
print("===============================")
print("[A_Main >> init_WebView() :: 웹뷰 초기 설정 값 정의 실시 및 웹뷰 로드 수행]")
print("type :: URLSession removeCookies")
print("앱 설치 일자 :: ", installDate ?? "")
print("로 직 :: 사전 캐시 및 세션 데이터 삭제 수행됨")
print("===============================")
print("")
// -----------------------------------------
// [웹 보기에 대한 쿠키, 디스크 및 메모리 캐시, 기타 유형의 데이터를 관리하는 개체]
self.javascriptConfig.websiteDataStore = WKWebsiteDataStore.default()
// -----------------------------------------
// [웹뷰 초기 설정 및 init 수행 실시]
// -----------------------------------------
반응형
'IOS' 카테고리의 다른 글
117. (ios/swift) 클립보드 기능 사용해 데이터 복사 (copy) 실시 - UIPasteboard (0) | 2022.02.07 |
---|---|
116. (ios/swift) 웹뷰 (webview) 사파리 브라우저 디버깅 수행 - Safari Technology Preview (0) | 2022.02.04 |
114. (ios/swift) wkwebview 웹뷰 스크롤 바운스 방지 실시 (0) | 2022.02.03 |
113. (ios/swift) 테스트 플라이트 (TestFlight) 내부 테스트 계정 추가 방법 (0) | 2022.02.03 |
112. (ios/swift) 비콘 목록 다중 스캔 실시 - beacon list multi scan (0) | 2022.02.02 |
Comments