まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

(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、そして

f:id:yuzurifa:20190301140044p:plain


Build Active Architecture OnlyをYESにしましょう。

これでビルドしてみると大丈夫でした。

ビルドするときはcommand+Shift+Kをしてからcommand+Bのほうが良いでしょう

 

 

 

Build Active Architecture OnlyをNOにしたのも、前にこれ系のエラーをなくす為だったと思うんだけどなあ

 

ほんとこれ系のエラーしつこすぎ30時間以上闘ってると思う。。。。

 

みなさま負けないでください