Как очистить указанный c кеш в iOS Swift WKWebview - PullRequest
0 голосов
/ 07 мая 2020
• 1000 с новым, как старое изображение logo.png, новое изображение также будет переименовано в logo.png. Но из-за кеширования пользователи все равно будут видеть старое изображение.

Ниже приведена строка кода для очистки кеша после загрузки изображения и его нормальной работы, но теперь моя единственная проблема заключается в том, что все кэшированные данные также очищаются.

Есть ли способ очистить кеш только для загруженного изображения, возможно, передав имя изображения?

Или просто очистить кеш для изображений?

static func clearCache(){
        let cacheURL =  FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!
        let fileManager = FileManager.default
        do {
            // Get the directory contents urls (including subfolders urls)
            let directoryContents = try FileManager.default.contentsOfDirectory( at: cacheURL, includingPropertiesForKeys: nil, options: [])
            for file in directoryContents {
                print("CACHE = ", file)
                do {
                    try fileManager.removeItem(at: file)
                }
                catch let error as NSError {
                    debugPrint("Ooops! Something went wrong: \(error)")
                }

            }
        } catch let error as NSError {
            print(error.localizedDescription)
        }
    }

Из l oop я получил это

CACHE = file: /// private / var /mobile/Containers/Data/Application/BFEB788B-9EA4-4921-A902-230869CAC814/Library/Caches/com.myapp.ios.sellers/ CACHE = file: /// private / var / mobile / Containers / Data / Application / BFEB788B-9EA4-4921-A902-230869CAC814 / Library / Caches / google-sdks-events / CACHE = file: /// private / var / mobile / Containers / Data / Application / BFEB788B-9EA4-4921-A902-230869CAC814 /Library/Caches/com.apple.WebKit.WebContent/ CACHE = file: /// private / var / mobile / Containers / Data / Application / BFEB788B-9EA4-4921-A902-230869CAC814 / Library / Caches / WebKit /

1 Ответ

1 голос
/ 07 мая 2020

Похоже, вам нужно найти файл, который вы хотите удалить, когда вы находитесь в for l oop l oop для файлов. Удалите это определенное изображение c, когда попадет for l oop. Прямо сейчас для l oop удаляется весь кеш в directoryContents.

...