MacOS BigSurでGoogle Mobile Ads Unity Pluginをインポートした際のエラー解決

Error

UnityでAdmob広告を実装するためのplugin(Google Mobile Ads Unity)をインポートしようとした際に、OSをBigSurにアップデートしていたため(と思われる)エラーが発生しました。CocoaPodsにアクセスできないというエラーです。

なんとか解決できたので、忘れないように記録しておきます。

ただし、書いた人はプログラミング初心者なので内容が正確ではない可能性があります。ご了承ください。

今回起こったこと

UnityにGoogle Mobile Ads PluginをインポートしようとしてCocoaPodsにアクセスできないエラーが出た

環境

  • MacOS BugSur11.6
  • Google Mobile Ads Unity Plugin v6.1.2
  • Unity2019.4.18f1

解決できた方法まとめ

  1. CocoaPodsアップグレード:うまくいかず
  2. CocoaPodsインストールのために、CLang, rbenv, Ruby, gemの順に全てアップグレード
  3. CocoaPodsインストール再挑戦:成功!
  4. Unityに戻りGoogle Mobile Ads Unity Pluginインポート再挑戦:成功!

このような流れで解決しました。

目次

Unityでエラー発生、CocoaPodsのアップグレードを試みる

UnityでのAdmob広告の実装手順はこちらのページがわかりやすいです!(いつも参考にさせてもらってます)

Admob広告を実装するために、Google Admob公式サイトからMobile Ads Unity プラグインをダウンロードしました。

Google for Developers
始める  |  Unity  |  Google for Developers A mobile ads SDK for AdMob publishers who are building apps on Unity.

さらにUnityでImport Package → Custom Packcage で、ダウンロードしたファイルをインポート。

途中でエラーになりました。スクリーンショットを撮り忘れてしまったのですが、

”CocoaPodsにアクセスできない”というエラーだったと思います。(スクショなくてすみません)

前作のアプリを出した時は問題なかったんですが…。バージョンが古くなってアクセスできなかったのか。

下記のページを参考に、CocoaPodsのアップデートを試みました。

Qiita
CocoaPodsのバージョンアップの方法 - Qiita CocoaPodsのバージョンを更新する方法です。#アップデート方法通常 [sudo] gem uninstal…

ターミナルで以下のコマンドを実行。

[sudo] gem update cocoapods

しかし、”pod not found”と出てエラー。CocoaPodsの再インストールが必要なようでした。

CocoaPodsインストールのためにCLang, rbenv, Ruby, gemをアップグレード

以下のページを参考に、CocoaPodsのインストールを試しました。

独学プログラマー🚀

こちらの方法を試しましたが、gemが古いと言われる → Rubyのバージョンが古いと言われる → Rubyのインストールにも失敗…となって途方に暮れました。

そこで色々調べると、下記のページで

“macOS付属のC言語/C++のコンパイラCLangのバージョンによっては、Rubyのインストールに失敗する場合があります。”

Yuichi Goto’s page

という情報を見つけました。

こちらのページに従って、

CLangのバージョンアップ → バージョン管理システムGitのインストール → rbenv(Rubyのバージョンを管理してくれるツール)のインストール → Rubyのインストール → gemをアップデート

まで実行。特に躓かずうまくいきました!

Ruby on Railsまでは必要ないと思ったので、ここまでで再度CocoaPodsのインストールに挑戦しました。

CocoaPodsインストール再挑戦

さかのぼって必要なものは全部アップグレードできたと思うので、再度CocoaPodsのインストールに挑戦してみました。しかしこれも一筋縄ではいかず…。

再度以下のページを参考にしました。

Qiita
cocoapod使いたいのに使えない - Qiita cocoapodあまり使ったことなくて前にやってみたけど、ちゃんと覚えていないので書いて見ました。しかしなぜか今回は色々な試練があったのでその対処法なんかも書いていこう...

ターミナルで以下のコマンドを実行し、CocoaPodsをインストール。

sudo gem install -n /usr/local/bin cocoapods

インストール後、セットアップ。

pod setup

ここでエラー。

下記のページを参考に、古いバージョンのCocoaPodsを削除+CocoaPodsの設定ファイルを削除。

Qiita
CocoaPodsのバージョンアップの方法 - Qiita CocoaPodsのバージョンを更新する方法です。#アップデート方法通常 [sudo] gem uninstal…

pod setup を再試行したら、うまくいきました!

さらに、Podfileというものを作成するそうで、

pod init

を実行しましたが、これはうまくいかず…。一度切り上げました。

Google Mobile Ads Unity Pluginインポート再挑戦

最後の手順まではうまくいかなかったので、ダメもとでしたがUnityに戻ってプラグインのインポートを再度試みたところ…成功しました!

結局Google Mobile Ads Unity Pluginを使うために、Podfile作成は必要ないのか?疑問が残りますが、ひとまずいいことにしたいと思います。(後で問題起きたら追記します…!)

どうやらUnityプロジェクトをビルドしていない段階ではPodfile作成はできないらしい…?

ぱふの自由帳
【Unity】iOSでcocoapodの初期設定が必須になった?【.xcworkspace消失事件】 - ぱふの自由帳 はじめに いつの間にか、iOSのプロジェクトをxcodeでビルドする際にはcocoapodで設定を行わないと. xcworkspaceすら作成されなくなったので対処法を書いておきます。 !!...

歯切れが悪くて申し訳ないですが今回は以上です。

まとめ

思わぬ遠回りで半日かかりましたが、無事Google Mobile Ads Unity Pluginをインポートすることができました。

まるとこ

めっちゃ大変だった…!

セキュリティの関係上、OSは常に最新がいいかと思っていましたが、開発をしていると思わぬ落とし穴がありますね。

参考リンクの記事を書いてくださった皆様に感謝!!!

 

さて、次はGoogleの新しい広告ユニット、リワードインタースティシャル広告を実装したいと思っています。

またネタが発生したら記事にしたいと思います。

ブログを始めたらエラーはネタになるのでおいしいですね!笑

ではでは皆様も楽しい開発ライフを〜!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次