【iOS】FirebaseのCloud Storageでサーバー上のファイルの日付を確認する方法(Swift)
notwork_ios_firebase_storage_metadata
スポンサーリンク

Cloud Storage for Firebaseのファイルのメタデータを取得する方法

Firebaseのストレージ上のファイルの作成日付や更新日付を知る方法

ヒーラー
サーバー上のファイルの日付のチェックをしてからダウンロードを試みたい

やりたいこと

デバイス上のファイルの作成日付と、FirebaseのCloud Storageに格納してあるファイルの作成日付を比較して、サーバー上のファイルの日付のほうが新しかったらダウンロードしたいという処理はよくあると思います。

日付を別で管理したり、一度ダウンロードしてから作成日付をチェックするのでは効率が悪いため、できれば、サーバー上のファイルを直接確認してからダウンロードをしたいところです。

対処方法

Cloud Storageのリファレンスから作成日付や更新日付を直接確認する方法がありました。

作成日付はtimeCreated、更新日付はupdatedで取得できます。
また、日付に限らず、様々なメタデータを取得することができます。
取得できるメタデータは以下のとおりです。(更新することができるものもあります)

メタデータ一覧

メタデータを取得して、日付チェックするまでのソースコード例は以下のとおりです。

let storage = Storage.storage()
let reference = storage.reference(withPath: "article.json")
reference.getMetadata { metadata, error in
    if let error = error {
        //エラー処理
    } else {
        guard let serverUpdated = metadata?.updated else {
            //エラー処理
            return
        }
        //日付比較などの処理
        if serverUpdated > localUpdated {
            //サーバーのファイル作成日付が新しい場合の処理
            ...
        }
    }
}

参考

https://firebase.google.com/docs/storage/ios/file-metadata?hl=ja


スポンサーリンク

Twitterでフォローしよう

おすすめの記事