FirebaseStorageCache 0.0.10

FirebaseStorageCache 0.0.10

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年3月
SPM支持 SPM

Antony HarfieldThanakorn Amnuaywiboolpol维护。



 
依赖
Firebase/Core>= 0
Firebase/Storage>= 0
 

  • Antony Harfield

FirebaseStorageCache

FIRStorage for iOS 带缓存和离线功能

CI Status
Version
License
Platform

示例

克隆/下载 FirebaseOfflineAppDemo 并在 Xcode 中按下播放前运行 pod install。示例包含 3 个示例:无缓存,NSCache 和 FirebaseStorageCache。

要求

此项目假定您已经为 iOS 设置了 Firebase

安装

FirebaseStorageCache 通过 CocoaPods 提供。要安装,只需将以下行添加到 Podfile 中

pod 'FirebaseStorageCache'

使用

使用默认共享缓存

let ref: FIRStorageReference = ...
FirebaseStorageCache.main.get(storageReference: ref) { data in
  // do something with your file
}

创建自定义存储缓存

let oneWeekDiskCache = DiskCache(name: "customCache", cacheDuration: 60 * 60 * 24 * 7)
let firStorageCache = FirebaseStorageCache(cache: oneWeekDiskCache)
firStorageCache.get(storageReference: ref) { data in
  // do something with your file
}

图像加载扩展(在 UIImageView 中)

imageView.setImage(storageReference: ref)

网页加载扩展(在 UIWebView 和 WKWebView 中)

简单

webView.loadHTML(storageReference: ref)

在 HTML 上进行后处理

let styleHTML: (Data) -> Data = { data in
            let pre = "<style>body {margin: 16px}</style>"
            var preData = pre.data(using: .utf8) ?? Data()
            preData.append(data)
            return preData
        }
webView.loadHTML(storageReference: ref, postProcess: styleHTML)

清理/剪枝缓存

在你的 AppDelegate 的 didFinishLaunchingWithOptions 中,你应该调用你磁盘缓存的 prune()
方法以删除任何旧文件

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        FIRApp.configure()
        FirebaseStorageCache.main.prune()
        return true
    }

作者

Antony Harfield,[email protected]

许可证

FirebaseStorageCache 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。