Bläddra i källkod

完美kf解决数据迁移问题

100Years 1 vecka sedan
förälder
incheckning
ba487cf4d6
1 ändrade filer med 9 tillägg och 46 borttagningar
  1. 9 46
      AIEmoji/AppDelegate.swift

+ 9 - 46
AIEmoji/AppDelegate.swift

@@ -64,6 +64,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     }
 
     func initPlatform() {
+        handleKingfisher()
         TSCrashReporterTool.shared.setup()
         TSCrashReporterTool.shared.printCrashReports()
         TSColorConfigShared.naviMianTextColor = .white
@@ -179,56 +180,13 @@ import Kingfisher
 extension AppDelegate {
     
     func handleKingfisher(){
-
         moveCacheSmoothly()
-        
-        var diskStorage = ImageCache.default.diskStorage
-        
-        let cache1 = ImageCache(memoryStorage: ImageCache.default.memoryStorage, diskStorage: ImageCache.default.diskStorage)
-        
         let cache = try! ImageCache(
-            name: "longtorage",
+            name: "default",
             cacheDirectoryURL: FileManager.default.urls(for: .documentDirectory, in: .userDomainMask ).first!
         )
-        
         cache.diskStorage.config.expiration = .never    // 永不过期
         cache.diskStorage.config.sizeLimit = 0          // 无大小限制
-        
-        
-        
-        // 1. 创建自定义磁盘存储配置
-        let diskStorageConfig: DiskStorage.Config = {
-            var config = DiskStorage.Config(
-                name: "longtorage",  // 缓存名称
-                sizeLimit: 0,          // 不限制大小
-                directory: FileManager.default.urls(for: .documentDirectory, in: .userDomainMask ).first!
-            )
-            return config
-        }()
-
-        // 2. 创建内存存储配置
-        let memoryStorageConfig: MemoryStorage.Config = {
-            var config = MemoryStorage.Config(totalCostLimit: 100 * 1024 * 1024) // 100MB内存限制
-            config.countLimit = 50               // 最多缓存50张图片
-            config.expiration = .seconds(3600)   // 1小时后过期
-            return config
-        }()
-
-        // 3. 创建自定义ImageCache实例
-        let customCache: ImageCache = {
-            let diskStorage = try! DiskStorage(config: diskStorageConfig)
-            let memoryStorage = MemoryStorage(config: memoryStorageConfig)
-            
-            return ImageCache(
-                memoryStorage: memoryStorage,
-                diskStorage: diskStorage
-            )
-        }()
-
-        // 4. 设置为默认缓存
-        ImageCache.default = customCache
-
-        
         KingfisherManager.shared.cache = cache
     }
     
@@ -237,12 +195,17 @@ extension AppDelegate {
         // 1. 获取旧文件路径的图片
         let fileManager = FileManager.default
         guard let cachesURL = fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first else {
-            dePrint("Cache Kingfisher 没有缓存,不用迁移")
             return
         }
+        
         let permanent_image_cache = "com.onevcat.Kingfisher.ImageCache.default"
         let srcURL = cachesURL.appendingPathComponent(permanent_image_cache)
-        guard fileManager.fileExists(atPath: srcURL.path) else { return }
+        guard fileManager.fileExists(atPath: srcURL.path),
+              TSFileManagerTool.hasContents(atPath: srcURL.path)
+        else {
+            dePrint("Cache Kingfisher 没有缓存,不用迁移")
+            return
+        }
 
         //把srcURL 移动到新的 documentURL
         guard let documentURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return }