はじめに
UnityでビルドしたところCocoaPodsのバージョンが低いとエラーが出ました。
前知識がない状態から 恐る恐るアップデートをした履歴です。
ターミナルから行うので、自己責任でお願い致します。
CocoaPodsとは
CocoaPodsは、Xcodeプロジェクトのライブラリ依存関係を管理します。
アップデート方法
1.ターミナルを起動
ターミナルから操作する必要があるらしいので、ターミナルを起動します。
Finder>アプリケーション>ユーティリティ>ターミナル
ターミナルを起動すると、起動した時間とコンピューター名が勝手に表示されます。
ターミナルについては、こちらで勉強しました。
techacademy.jp
2.更新するコマンドを入力する
ターミナルに下記コマンドを入力してエンターキーを押します。
sudo gem install cocoapods
ターミナルの画面
管理者パスワード(パソコンのログインに使っているパスワードでいけました。)
を求められるので入力します。
注)パスワード入力の際、どこにも表示されません。
ターミナルで sudo コマンドを使うには管理者パスワードが必要 - Apple サポート (日本)
ターミナルでパスワードを入力する際、画面には何も表示されません。
間違ったパスワードを入力したり、パスワードを何も入力しなかった場合は、
コマンドは実行されず、もう一度やり直すように案内されます。
パスワードを入力してエンターキーを押すと、動きだすのでしばらく待ちます。
停止したら完了です。
(参考)完了後の画像
おわりに
ビルドし直したところ、無事CocoaPodsのエラーは消えました!
追記
2022年6月12日
ビルド時、cocoapodsのバージョンが低いとエラーが出たため
同様にアップデートを行いました。
その際、下記のような「上書きしますか?」的な問いが出たので「y」を押して進めました。
また、インストール後、初期設定のコマンド
pod setup
を打ち、 Setup completed と出たので終了しました。
追記
2024年7月15日
Cocoapodsアップデート時にエラーが出たため残しておきます。
追記(備忘録)
2022年6月24日
Xcodeでアーカイブエラー
→Unityを見ると下記のエラーが出ていました。
iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project.
After the failure, "pod repo update" was executed and succeeded. "pod install" was then attempted again, and still failed. This may be due to a broken CocoaPods installation. See: https://guides.cocoapods.org/using/troubleshooting.html for potential solutions.
pod install output:
結局、Google Mobile Adsをv6.1.2→v7.0.2にすることで、エラーは消えました!
環境
MacOS:Monterey 12.4
Unity:2021.3.3f1
Xcode:13.4.1
Google Mobile Ads:v7.0.2
過程で以下の処理を行いましたが、エラーは解決しませんでした。
ただ、思い出したくなりそうなので、備忘録として残しておきます。
<以下 備忘録>
こちらを参考に進めました。
解決方法
cocoapodsがうまく動いていないらしい。
gemでインストールしていたcocoapodsをアンインストールして、homebrewでインストールし直した。 cocoapodsをアンインストールする
ターミナルで以下を実行する。
sudo gem uninstall cocoapods -n /usr/local/bin
さらにcocoapods関連のものをすべて表示する。
gem list --local | grep cocoapods
私の環境では以下のように実行結果が表示された。
cocoapods-core (1.8.4) cocoapods-deintegrate (1.0.4) cocoapods-downloader (1.3.0) cocoapods-plugins (1.0.0) cocoapods-search (1.0.0) cocoapods-stats (1.1.0) cocoapods-trunk (1.4.1) cocoapods-try (1.1.0)
これらをすべてアンインストールしていく。
sudo gem uninstall cocoapods-core -n /usr/local/bin sudo gem uninstall cocoapods-deintegrate -n /usr/local/bin sudo gem uninstall cocoapods-downloader -n /usr/local/bin sudo gem uninstall cocoapods-plugins -n /usr/local/bin sudo gem uninstall cocoapods-search -n /usr/local/bin sudo gem uninstall cocoapods-stats -n /usr/local/bin sudo gem uninstall cocoapods-trunk -n /usr/local/bin sudo gem uninstall cocoapods-try -n /usr/local/bin
すべてSuccessfully uninstalledと表示されてアンインストールされたはず。 一応もう一度listを表示してすべてアンインストールされたことを確認する。
gem list --local | grep cocoapods
.cocoapodsを削除する。
rm -rf ~/.cocoapods
Homebrewでcocoapodsをインストールし直す
ターミナルで以下のコマンドをすべて実行する。
brew install cocoapods rm '/usr/local/bin/pod' brew unlink cocoapods brew link --overwrite cocoapods
Unityを再起動してもう一度iOSビルドしたらちゃんとxcworkspaceが生成されていた。
そのまま真似て実行していきました。
私の環境では、
gem list --local | grep cocoapods
の実行で以下が表示される結果となっています。
cocoapods-core (1.11.3) cocoapods-deintegrate (1.0.5) cocoapods-downloader (1.6.3) cocoapods-plugins (1.0.0) cocoapods-search (1.0.1) cocoapods-trunk (1.6.0) cocoapods-try (1.2.0)
また、以下コマンドは、実行完了まで数分かかっています。
rm -rf ~/.cocoapods
以下の画像は、実際に実行した履歴です。
・・・省略・・・
→その後、Unityでのビルドエラー改善せず。
よくエラー文を見ると、以下のエラーが大量に出ている。
Ignoring json-1.8.6 because its extensions are not built. Try: gem pristine json --version 1.8.6
エラー文の通り、ターミナルにて下記を実行。
実行権限付与のためsudoを付けます。
sudo gem pristine json --version 1.8.6
実行画面
→その後、ビルド
→ビルドは通るものの、同様にCocoaPodsのエラーが発生
(文書は微妙に変わっている)
→MacOS:Monterey でGoogle Mobile Ads:v6.1.2 のビルドはうまくいかないことを思い出す
→Google Mobile Adsをアップグレード v6.1.2 → v7.0.2
→ビルド後のエラーなくなる。
→ターミナルで sudo gem pristine json --version 1.8.6 を実行したことが気になり、
もう一度、下記を実行しました。
→cocoapodsをアンインストール
→homebrewでインストールし直す
→cocoapodsをアンインストールする
<備忘録 おわり>
Unity本を出版しました!
突然ですが、Unity本を出版しました!
こちらを読むことで、スクリプトの基礎固めができます!
現在、kindle unlimitedで読み放題設定中です。今のうちにどうぞ!
もっと早く教えてほしかった!Unity C#入門