【Xcode】Firebaseを組み込んだ矢先にハマった事(その2)

今回は前回と同様にFirebaseを組み込んだ時にハマったことを紹介します。まあ、これはFirebaseと言うよりは、CocoaPodsでライブラリを組み込んだ時に起きるエラーの話になると思います。ですので、Firebaseに限らず、他のライブラリを組み込もうとした際も、同様と思われます。違ったらごめんなさい(汗

ビルドが通らない

My OC DiaryにFirebaseを組み込もうと思って作業をしていたのですが、AppDelegateでFirebaseの初期化しようと、以下のコードを追加したところ、ビルドエラーになってしまいました。My OC DiaryはObjective-Cで書かれています。少しずつSwiftに移行してますが・・・

[FIRApp configure];

 
エラーの内容は以下の感じです。

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_FIRApp", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

外部ライブラリを参照させる

エラーの内容を見て見ると、だいたい内容はわかると思いますが、FIRAppなんて知らんがな・・・的なノリでしょうか。てことで、プロジェクトがFirebaseのライブラリを参照出来るように設定してあげます。

  1. Other Linker Flags
    まず①のBuild Settingsをクリックし選択します。 次に②に「other link」と入力しフィルターをかけます。で、③をダブルクリック
    Build Settings1
  2. $(inherited)
    吹き出しが表示されるので、「+」をクリック
    Build Settings2
    入力フィールドにカーソルを当てて
    Build Settings3
    「$(inherited)」を入力
    Build Settings4

如何でしょうか? ビルドは通りましたでしょうか?

参考サイト

FIRApp Linker Error [“OBJC_CLASS$_FIRApp”]

関連記事

【Raspberry Pi】libnl3.so.200関連のエラー

【Xcode】制約をソースにリンク

【Swift】Cannot use mutating member on imm...

【Swift4】Stringイニシャライズ時のエラー

【zsh】ラズパイに入れてみた2

【Flutter】シミュレーターで最初のアプリを起動してみる【Mac】