Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Swift】「Use of undeclared type 'DatabaseReference'/Use of unresolved identifier 'Database'」の対処法

■はじめに

Firebaseを導入した時に出た表題のエラーに関して、状況と対処した内容に関して書きたいと思います。

 

■開発環境

・Xcode9.3.1

・Swift4.1

 

■エラーが出た時の状況

CocoaPodsを使用して、Firebaseをインストール。

その後、以下のようにデータベースの参照に関して記述すると・・・

var DBRef:FIRDatabaseReference!

下記エラーが出てしまう。

Use of undeclared type 'DatabaseReference'

 

また、DatabaseReferenceのインスタンス化をしようと以下記述すると・・・

ref = FIRDatabase.database().reference()

下記エラーが出てしまいました。

Use of unresolved identifier 'Database'

 

■原因

Podfileにポッドを追加する際に、Firebaseのドキュメント通りに

pod 'Firebase/Core'

と記載してインストールしたのですが、

pod 'Firebase/Database'

 の追記で解決しました。

※解決の糸口になった記事は関連リンクに記載しました。

 

■おわりに

関連リンクには今回のケースの原因は書かれていませんでした。もしかすると以前記事にした、【Swift】Carthageとは(CocoaPodsとどちらを使うべきか) - Swift実践ブログで書いた通り、CocoaPodsがプロジェクトファイルやビルド設定を自動的に変更することが影響しているのでしょうか・・・。原因が明確になれば、本記事に追記したいと思います。

 

■関連リンク

ios - Use of unresolved identifier 'FIRDatabase' when using Firebase - Stack Overflow

ios - FirebaseIOS: Use of Undeclared Type 'DatabaseReference' - Stack Overflow