【Xcode】Firebaseを組み込んだ矢先にハマった事

今日は、CocoaPodsでFirebaseを組み込んだ直後にちょいちょいハマって時間を無駄にしたエラーについてご紹介致します。結局はgoogleの説明のページをちゃんと読んでないのが原因なのですが・・・

内容の分からないエラー

Xcodeで開発をしていると、原因がわからないエラーによく出くわしますが、Firebaseを組み込んだ直後に以下のエラーが発生した時も、よくわからずに無駄に時間を使ってしまいました。以下のエラーの内容だけても、例外が発生して落ちました・・・って事しかわかりません。落ちた箇所は、「FirebaseApp.configure()」の中。フレームワークの中じゃわかんね〜な〜・・・なんて思ってました。

libc++abi.dylib: terminating with uncaught exception of type NSException

 

デバッグモード

参考にしたサイトを忘れてしまったのですが、ググってみると、以下の設定をすることで、Firebaseをデバッグモードで動かすことが出来るようです。

  1. Xcodeのストップボタンの脇のアプリ名のプルダウンから「Edit Scheme…」を選択
  2. 「Run Debug」を選択
  3. 「Arguments」を選択
  4. 「Arguments Passed On Launch」に「-FIRAnalyticsDebugEnabled」を追加
     

動かしてみると

なんとデバッグモードで動かしてみると、「GoogleServices-Info.plist」が無い・・・とのこと・・・なんと・・・。フレームワークを使う時はちゃんと使い方を読みましょう。1度やった事があるからって記憶に頼ってやると、大事なことを飛ばしてしまうことがあります。ああ〜〜無念。「GoogleServices-Info.plist」はちゃんとダウンロードしてプロジェクトに入れておきましょう。
ちなみにFirebaseの組み込み方はこちらです。Firebase を iOS プロジェクトに追加する

Google/Analyticsの場合

ちなみにですが、Google Analyticsを組み込んだ際には、「GoogleServices-Info.plist」を入れても落ちてしまうことがありました。デバッグモードにしても、何をして良いかわからない事がありました。「GoogleServices-Info.plist」の中に「TRACKING_ID」をキーに「UA-XXXXXXXX-X」(各アプリのキー)を設定してあげたら落ちなくなりました。参考サイト

関連記事

【Objective-C】'void (^ _Nonnull __strong)...

Invalid Binary?・・・アイコンはAsset Catalogを使いま...

【Swift】UIAlertViewからUIAlertControllerへマイ...

【Swift】日付(Date型)同士の差の取り方

Atomでterminal-plusが動かなくなったときの対処法

SwiftでOpenALの簡単サンプルソース