最初はよくあるライブラリ読み込めてないエラーかと思っていた
「No Such module ‘ライブラリ名’」は割とありがちなエラーで大体の原因が
・なぜかライブラリの参照がうまくいかなくなった
・そもそも該当のライブラリをpod fileに追加しておらずライブラリ自体存在しない
おそらくこの2つだと思われる。
過去に自身も同じ問題が起き「あぁ、またこれか」ととりあえず調べて出てきた対処法を試した。
・Xcodeを再起動
・pod install・pod updateの再実行
・Mac自体の再起動
・pod deintegrate(ライブラリ削除)からのpod installで削除からの再取得
・pod fileの中身を確認して本当に該当エラーのライブラリが追加されているか確認
ここら辺の作業をすれば一般的な「No such module ‘XXX’」のエラーはだいたい消える。
がしかし今回でくわしたエラーは上記の方法で解決ができなかった。
今回のエラーの原因
まさかの、「FirebaseUI」に大きな変更が加えられていたことが原因だった。
公式を見ると下記のように記載されていた。
(サイトURL:https://github.com/firebase/FirebaseUI-iOS/releases/tag/v11.0.0)
簡単に言うと
今後は必要なモジュールをそれぞれインポートしてな!
とのこと。
個々のモジュールに分解したからFirebaseUIがなくなり、今回のようなエラーが発生していた。
解決方法
先ほども記載した通り、必要なモジュールをインポートする。
修正前
import FirebaseUI
修正後
//ログインにGoole・Facebook・Emailログインを使用したい場合
import FirebaseAuthUI
import FirebaseGoogleAuthUI
import FirebaseFacebookUI
import FirebaseEmailAuthUI
修正後として上記に記載しているけどもここは、自分が使用したいモジュールによって変わります。
警告が出る場合
私が修正を行った時、警告が出たのでその解決方法を記載しておきます
◆現象
◆解決方法
FirebaseUI v11になってからは引数を取るようになったようなので、
引数を与えてあげる必要があるみたい。
正直警告を放置しても動くので気になる方は修正してみてください。