【iOS】FirestoreからgetDocumentできなかった件
Swift版のFirestoreで以下のようなコードでドキュメントを取得しようとしたが何度データを登録してもドキュメントなしに落ちてしまう。。。
let db = Firestore.firestore() db.collection("users").document("xxxxx").getDocument() { document, err in if let document = document, document.exists { // ドキュメントあり } else { // ドキュメントなし } }
Firestoreのルールとか散々確認しましたが特に問題なし。
結論から言うと、コールする関数を間違えていたようです。
// NG db.collection("users").document("xxxxx").getDocument() { document, err in ... // OK db.collection("users").document("xxxxx").getDocument { document, err in ...
これ、Webで検索するとほとんどのサイトでgetDocument()
が使われているのでFirebase側で仕様が変わっていたみたいです。
たしかに公式サイトではOKバージョンの関数になっていました。でもこれってトラップ過ぎる。。。Google系は特に公式ドキュメントを確認しないとダメですね、という悪例でした。