そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

なんもわからん状態からCocoaPodsのアップデートをした

はじめに

UnityでビルドしたところCocoaPodsのバージョンが低いとエラーが出ました。
前知識がない状態から 恐る恐るアップデートをした履歴です。

ターミナルから行うので、自己責任でお願い致します。

CocoaPodsとは

guides.cocoapods.org

CocoaPodsは、Xcodeプロジェクトのライブラリ依存関係を管理します。

アップデート方法

1.ターミナルを起動

ターミナルから操作する必要があるらしいので、ターミナルを起動します。

Finder>アプリケーション>ユーティリティ>ターミナル

ターミナルを起動すると、起動した時間とコンピューター名が勝手に表示されます。

ターミナルについては、こちらで勉強しました。
techacademy.jp

2.更新するコマンドを入力する

ターミナルに下記コマンドを入力してエンターキーを押します。

sudo gem install cocoapods

ターミナルの画面

管理者パスワード(パソコンのログインに使っているパスワードでいけました。)
を求められるので入力します。
注)パスワード入力の際、どこにも表示されません。

ターミナルで sudo コマンドを使うには管理者パスワードが必要 - Apple サポート (日本)

ターミナルでパスワードを入力する際、画面には何も表示されません。
間違ったパスワードを入力したり、パスワードを何も入力しなかった場合は、
コマンドは実行されず、もう一度やり直すように案内されます。

パスワードを入力してエンターキーを押すと、動きだすのでしばらく待ちます。
停止したら完了です。

(参考)完了後の画像

おわりに

ビルドし直したところ、無事CocoaPodsのエラーは消えました!

追記

2022年6月12日
ビルド時、cocoapodsのバージョンが低いとエラーが出たため
同様にアップデートを行いました。

その際、下記のような「上書きしますか?」的な問いが出たので「y」を押して進めました。

また、インストール後、初期設定のコマンド

pod setup

を打ち、 Setup completed と出たので終了しました。

追記(備忘録)

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

過程で以下の処理を行いましたが、エラーは解決しませんでした。
ただ、思い出したくなりそうなので、備忘録として残しておきます。



<以下 備忘録>
こちらを参考に進めました。

qiita.com

解決方法
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#入門

参考

guides.cocoapods.org support.apple.com

qiita.com