(linker command failed with exit code 1 (use -v to see invocation)) やCould not build Objective-C module 'Firebase' やFirebaseCore.h' file not foundのエラー回避の一例
Firebaseをcocoapodsなどでインポートすると
(linker command failed with exit code 1 (use -v to see invocation)) ,
Could not build Objective-C module 'Firebase' ,
FirebaseCore.h' file not found
こんなエラーが出てくる
人により症状が違うので
これを解決するにはいろんな方法があるが
私の場合の原因は
TARGETSのBuild Settingsの一番上の項目『Build Active Architecture Only』
がNoになっていた為でした。
Build Active Architecture Only アクティヴなアーキテクテャーのみでビルドする。
おそらくBuild Active Architecture OnlyがNoになっていると
不完全なフレームワークがあるといちいちエラーが出るようになってしまうようです。
1、まずpodfileの
pod 'Firebase/AdMob'
pod 'Firebase/Core'
pod 'Google-Mobile-Ads-SDK'
こんな感じに書いてあるのを全て削除して
pod updateすると
フレームワークがプロジェクトから消えてくれます
2、そして上のメニューバーのFileからのshow in Finder などをしてprojectがある場所をFinder開きます。
それからその中にある.xcworkspace podfile podfile.lock など フレームワークを導入してから出来たファイルを片っ端から削除してください、ほんと基本的にあるファイル以外は全て削除。
.xcodeprojを消さなければコードが消えることもないし、ゴミ箱からまた持ってくることもできるのでしっかり削除しましょう。
3、それから.xcodeprojを開いて赤字になってるフレームワークがあれば片っ端から全部削除からのプロジェクトを閉じてください
4、それでpod initからのpodfileにまた同じように
pod 'Firebase/AdMob'
pod 'Firebase/Core'
pod 'Google-Mobile-Ads-SDK'
こんな感じに書いて
pod install
5、それから.xcworkspaceで開きましょう
6、そして
Build Active Architecture OnlyをYESにしましょう。
これでビルドしてみると大丈夫でした。
ビルドするときはcommand+Shift+Kをしてからcommand+Bのほうが良いでしょう
Build Active Architecture OnlyをNOにしたのも、前にこれ系のエラーをなくす為だったと思うんだけどなあ
ほんとこれ系のエラーしつこすぎ30時間以上闘ってると思う。。。。
みなさま負けないでください