투케이2K

99. (ios/swift) 웹뷰 (wkwebview) 캐시 초기화 방법 본문

IOS

99. (ios/swift) 웹뷰 (wkwebview) 캐시 초기화 방법

투케이2K 2022. 1. 11. 08:33

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

        // -----------------------------------------

        print("")
        print("===============================")
        print("[A_Main >> init_WebView() :: 웹뷰 초기 설정 값 정의 실시 및 웹뷰 로드 수행]")
        print("url :: \(_loadUrl)")
        print("===============================")
        print("")
        
        // -----------------------------------------
        
        // [웹뷰 로컬 스토리지 속성 지정]
        // [전체 방문 데이터 지우기]
        /*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("로직 :: 사전 전체 방문 데이터 삭제됨")
                print("===============================")
                print("")
            }
        })*/
        
        
        // [원하는 캐시 데이터만 골라서 삭제]
        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("")
            print("===============================")
            print("[A_Main >> init_WebView() :: 웹뷰 초기 설정 값 정의 실시 및 웹뷰 로드 수행]")
            print("로 직 :: 사전 캐시 데이터 삭제 수행됨")
            print("===============================")
            print("")
        })
        
        
        // [웹 보기에 대한 쿠키, 디스크 및 메모리 캐시, 기타 유형의 데이터를 관리하는 개체]
        self.javascriptConfig.websiteDataStore = WKWebsiteDataStore.default()
        
        // -----------------------------------------

반응형
Comments