投稿日:2020-12-09 Wed
アプリにAdmobを入れようとしたのですが、いつのまにかGoogleMobileAds-v5.3.0.unitypackageから
GoogleMobileAds-v5.4.0.unitypackage
にバージョンがあがってました。
まあ新バージョンがいいだろうと、最新のを入れて組込んでIOSのビルドをかけたら、Unityが書き出したXcodeプロジェクの中にCocoaPodでSDKを自動でXcodeに入れてくれる「xcworkspace」ファイルがないじゃありませんか・・・
もちろん通常の「xcodeproj」ファイルはあるんだけど、AdmobのSDKを入れて「xcworkspace」が出来てないとかあり得るのか?と嫌な予感がして、もう一回Unityで出してみました。
そしたら、Xcodeプロジェクトは出来上がるけど、Unityのコンソールには赤文字エラーで、CoCoaPodで追加できないみたいなエラーが起きてる。。。
なんてこったい・・・CoCoaPod使わなくても、昔のようにXcodeの中にFrameWork追加したり設定かえたりしたら動くんだろうけど、相当な時間コストをかけた苦労が待っているのは容易に想像が・・・・CoCoaPodは捨てられない。なんとかせねば!!と
ターミナルで、書き出されたXcodeプロジェクトのフォルダで
$ pod update
コマンドを打ってみました。
案の定GoogleMobileAdsが追加できないエラーが出てますが、内容をみると
CocoaPodのバージョンが1.8.4だよ 1.9.0にあげてみたいな メッセージが見える。
なるほど、GoogleMobileAdsの最新バージョンは、新しいバージョンのCoCoaPodじゃないと駄目なのだろうと想像できました。
とりあえずCoCoaPodのバージョンあげる方法しらべてターミナルでコマンド実行・・・
$ sudo gem update cocoapods
うまくいかない。エラーが起きます。
CoCoaPodがおかしくなった時の対処法は、ググれば結構みつかるのですが
CoCoaPodアンインストールしたりCoCoaPodの設定ファイルをいじったり・・・
そして再びCoCoaPodインストール
$ sudo gem install cocoapods
コマンド実行
そしたら
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.
エラーじゃあ!!
これはヤバいぞ!! ヤバすぎる!!
CoCoaPodアンインストールしてしまったのに、インストールできない。
FireBaseもよく使ってるのに、このままじゃIOSのビルドが出来ないぞ!!と青ざめる結果に。
そして色々ググって調べたら、同じ症状の人ばかり・・・
解決法は何人か書いてあるのですが、結局CoCoaPodの1.9をあきらめて、1.8.4を指定してインストールしたよというものばかりでした。
つまり、1.9.0からうまく入らないみたいです。
ここで、CoCoaPod1.8.4を入れて、AdmobのSDKも一つ前の5.3.0を入れるか
AdmobのSDKを5.4.0にして、なんとかCoCoaPodのバージョンをあげるか、
の2択を迫られてしまいました。
最新のが使えないの色々まずい気もするので、もう少し上げる努力をしようかと思ったのですが、ここからも一筋縄でいきませんでした。
CoCoaPodは、MacOS上で動いてるRubyでインストールする方法がよくみつかるのですがRubyじゃなく
$ brew instal cocoapods
でインストールしましょう
というのを見つけて、これならいけるのでは?とやってみたら
インストールはされるのですが、途中でエラーが発生してる。
とりあえず、今はCoCoaPod1.10.0なのは、わかりましたが、これは大丈夫なのか? と思ったらやっぱり駄目でした。
海外サイトでRubyのバージョンをあげればうまくいく可能性があるよ!というのをみつ方ので
$ brew uninstal cocoapods
を実行しRubyのUpdateへ
Rubyは2.6.5だったので、2.7にあげました。
これでうまくいくかと思いきや結果は同じ。
このあたりで、下げるか迷いましたが、CoCoaPod1.10.0はBrewなら成功してる人はいる。
もう一回Brewで挑戦。
やはり途中でエラーでうまくいかないのですが
----------------------------
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/xcodeproj
Target /usr/local/bin/xcodeproj
already exists. You may want to remove it:
rm '/usr/local/bin/xcodeproj'
To force the link and overwrite all conflicting files:
brew link --overwrite cocoapods
----------------------------
とエラーメッセージが出ている。Google先生にかけてみたら
----------------------------
リンクを強制し、競合するすべてのファイルを上書きするには:
brew link --overwrite cocoapods
----------------------------
を実行しなさいと書いてあるじゃないですか・・
$ brew link --overwrite cocoapods
$ brew uninstall cocoapods
$ brew install cocoapods
実行でうまくいったあぁぁ。
ちゃんとメッセージは読まないと駄目ですね。。
とりあえず、数時間の戦いでした。
△ PAGE UP