めーぷるのおもちゃばこ

- アイドルになりたいエンジニア女子の制作日記 -

【Unity】Firebase Unity SDKを使用してビルドで'FirebaseCore/FIRLogger.h' file not foundエラーにつまづいた話

はじめに

FirebaseのUnity SDKを使用してXcodeでのビルドで以下のエラーでつまづきました!

'FirebaseCore/FIRLogger.h' file not found


.xcodeprojではエラーがわからなかったので、.xcworkspaceのほうで開いてビルドしたところこのエラーが出たといった感じです。
いろいろ試した方法と最終的に自分が解決した方法を描こうと思います!
  
  

環境

・Unity2020.1.3f1
・Xcode Version 11.6
・Firebase Unity SDK 6.24.0

  

自分が解決できたやつ

以下にいろいろ方法を書いているのですが、
最終的にここに書いてあったこれを試してうまくいきました。
github.com
  
UnityでAssets/Firebase/EditorAnalyticsDependencies.xml

    <iosPod name="GoogleUtilities/MethodSwizzler" version="6.7.2">
    </iosPod>

  
の2行つけたしてビルド、からの、ビルドファイルの階層で

$ pod install

を実行することでビルドが通りました。

の間に挟むので以下のような感じ。

<dependencies>
  <iosPods>
    <iosPod name="Firebase/Analytics" version="6.24.0" minTargetSdk="8.0">
    </iosPod>
    <iosPod name="GoogleUtilities/MethodSwizzler" version="6.7.2">
    </iosPod>
  </iosPods>
  <androidPackages>
    //(以下略)

  

試したものたち

最終的には上記の方法でうまくいったのですが、人によって解決方法いろいろ違うと思うので、試したものを全部書いておきます!
これらの方法でも解決できるかもなので試してみてください!

Pod周りが結局うまくいってなかったのだけど、それの解決策もいろいろあった。
  

🐼方法1

ビルドファイルの中にあるPodfileに以下を書き足す。

pod 'GoogleUtilities', '[最新のバージョン番号]'

 
追記後、その階層で

$ pod install

 
を実行、生成されたUnity-iPhone.xcworkspaceを開いてビルド。

参考先↓↓
Error satisfying GoogleUtilities/MethodSwizzler dependency. · Issue #1845 · firebase/firebase-ios-sdk · GitHub
UnityのiOSアプリにFirebaseを導入したら「iOS framework addition failed」でビルドできない問題 - Qiita


🐼方法2

CocoaPodsを再設定する。
ビルドフォルダのなかにある.xcworkspaceファイルとPodfile.lockを削除、

$ pod install

を実行
  
参考↓↓
CocoaPodsを使ったプロジェクトのビルドでコンパイルエラーが発生。 | by Swiftでアプリな日々🐟 | Medium

  

🐼方法3

XcodeでのBuildOptionのみなおし。
Xcodeで上のメニューからProduct>Scheme>Edit Scheme ででてくるウィンドウのBuildタブにあるFind Implicit Dependenciesにチェックが入っていないとPods周りのビルドがされないらしいです。

f:id:maplesyrup-cs6:20200827153245p:plain
Find Implicit Dependenciesにチェック

  
  
参考↓
CocoaPodsを使ったプロジェクトのビルドでコンパイルエラーが発生。 | by Swiftでアプリな日々🐟 | Medium
  
 

🐼方法4

Firebase Unity SDKのアップデートをする。
どこ参考にしたかわかんなくなったけど、それで解決したっていうのも見かけたので!

🐼方法5

DLLファイルの削除と有効化
以下を参考に↓↓
Unity プロジェクトに Firebase を追加する
  

🐼方法6

PodのUpdate。どこを参考にしたかわかんなくなったけど以下のように書いてある部分があったので

Apparently that was the issue. I ran pod update and pod repo update and now it builds correctly. Thanks!

  
そのまま

$ pod update
$ pod repo update

をためしてみた。

🐼方法7

$ pod cache clean --all

からの

$ pod install

  
参考↓↓
iOS - CocoaPodsでのエラー Unable to read the license file `LICENSE` for the spec `Firebase (6.13.0)`|teratail

   

🐼その他

・他に別の.hファイルが見つからないエラーがでてる人もだいたいPodfileにつけたすことで解決してるっぽい。
Firebase Unity SDKを5.7.0にアップデートしたところエラー - しばゆに

  
・DLLファイルの削除と有効化
以下を参考に↓↓
Unity プロジェクトに Firebase を追加する


  

感想

Podfileに書き足したのはだめだったのにAnalyticsDependencies.xmlに書き足したらいけたというのはUnityでビルドする際に必要な情報なのかしらん。

 
以上でち🐼

f:id:maplesyrup-cs6:20200827160904p:plain