Mac M1 Ultra にHomebrewでCocoaPodsをインストールした方法

UNITY

環境

Mac Studio
OS Monterey 12.5.1
M1 Ultra

経緯

UNITYでBuildSettingをiOSに変更したら

Failed to install CocoaPods for the current user.

It will not be possible to install Cocoapods in the generated Xcode project which will result in link errors when building your application.

・・・・・
'gem install activesupport -v 4.2.6 --user-install' failed with code (1):
Building native extensions. This could take a while...


WARNING:  You don't have /Users/.gem/ruby/2.6.0/bin in your PATH,
	  gem executables will not run.
ERROR:  Error installing activesupport:
	ERROR: Failed to build gem native extension.
・・・・・

というエラー。

試行錯誤でcocoapodを初めて入れてみたので記録。

ターミナルでhomebrewとcocoapodをインストールした手順

homebrewをいれる

直接cocoapodのインストールコマンドを打ってもエラーで調べてみるとhomebrew経由がいいっぽいのでトライ。

homebrew : https://brew.sh/index_ja

ターミナルに以下を入れる

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

結構時間がかかるかも。終わったら以下でパスを通す

export PATH="$PATH:/opt/homebrew/bin/"
export PATH="/opt/homebrew/bin:$PATH"
export PATH=/opt/homebrew/bin/:$PATH
export PATH=/opt/homebrew/bin:$PATH

homebrewがインストールされたか確認するには

$ brew --version

homebrew完了!

毎回パスを通さなくてすむために設定ファイル(シェル)に環境変数を加える

自分の設定ファイル(デフォルトシェル)を知る:

echo $SHELL
  • ~/zshの場合:.zshrc
  • ~/bashの場合:.bash_profile
https://amateur-engineer.com/mac-path-zsh/

たぶん結構zshなのかな。そこにパスを書く。

vi ~/.zshrc

上記でファイルを開き、

下記を入力して閉じる

export PATH=/opt/homebrew/bin:$PATH

ところが閉じる方法がわからなかったよ!!詳しくは以下。

テキストが完成したら保存して終了したいと思います。まずは入力モードを抜けて、コマンドモードにするために、ESCを押します。連打しても良いです。
そして、「保存して終了」のコマンド「:wq」を打ってエンターします。これで作業終了です。「やっぱり保存しないで終了したい」という時は、「:q!」と打ちます。

viを終了することができない人のためのviの使い方 https://blog.katty.in/853

ちなみに上記の一連の流れはファイル開かなくてもこれでもいける

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc

仕上げに以下で反映させる。これをやらないと反映されないぽい。

source ~/.zshrc

ruby rbenvの設定

brew install ruby-build rbenv

上記の後にパスを通す

export PATH="$HOME/.rbenv/bin:$PATH"

homebrewと同じように設定ファイルに追加

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

以下も追加した

echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
echo 'export PATH="$HOME/.rbenv/shims:$PATH"' >> ~/.zshrc

同じく仕上げの反映

source ~/.zshrc
exec $SHELL -l

rvenv経由でrubyをインストール

rbenv install -l 

上記でインストールできるrubyバージョンを確認して一番新しい数字でインストールしてみる

rbenv install 3.2.0

しばらく待つ

エラー・・・

BUILD FAILED (macOS 12.5.1 using ruby-build 20221225)

Inspect or clean up the working tree at /var/folders/gp/645z69v95yvfj9qf4mpp8gd40000gn/T/ruby-build.20230111125114.19015.9IBqyH
Results logged to /var/folders/gp/645z69v95yvfj9qf4mpp8gd40000gn/T/ruby-build.20230111125114.19015.log

Last 10 log lines:
	Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.

バージョン変えてみる

rbenv install 2.7.7

言われたとおりに以下実行

rbenv global 2.7.7

rbenvのバージョンの切り替えにはローカルな切り替えとグローバルな切り替えがあります。

ローカル:プロジェクト(ディレクトリ)ごとに使用するRubyのバージョンを切り替える方法です。グローバルな切り替えよりも優先度が高いため、プロジェクト(ディレクトリ)ごとに .ruby-version ファイルに記載されているバージョンが適用され、Rubyのバージョンが切り替えられます。

グローバル:パソコンのシステム全体で共通で使用するRubyのバージョンを切り替える方法です。

https://gallard316.hatenablog.com/entry/2020/11/14/014222

以下で確認 バージョン確認(rbenv)

rbenv versions 

バージョン確認(ruby)

ruby --version

数字が出てれば成功!以下も実行

rbenv rehash

さらに確認が必要。以下2点が、/usr/bin/rubyでなくて下記のように…/.rbenv/…になっていることが大事ということ。

which ruby
which gem

※ここでBundler(gemの依存関係とバージョンを管理するためのツール)を入れるか迷って入れていない。

Cocoapodsのインストール rbenv経由

gem install cocoapods

上記を実行してしばらく待つ。完了したら下記で確認

which pod

上記の結果も…/.rbenv/…でOK!

pod --version

数字が出てだいじょうぶそう!

下記でセットアップ

pod setup

ところがunityのエラーがまだ直らない

'gem install activesupport -v 4.2.6 --user-install' failed with code (1):
Building native extensions. This could take a while...


WARNING:  You don't have /Users/unitedcube/.gem/ruby/2.6.0/bin in your PATH,
	  gem executables will not run.
ERROR:  Error installing activesupport:
	ERROR: Failed to build gem native extension.

一瞬rubyのバージョンが違う?とかシェルへのpath追加が足りない?とか思ったけど調べて以下を実行したらunityのエラーが消えた!!

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

https://pfxstudio21.medium.com/cocoapods-error-error-installing-cocoapods-396ef7a1393d

https://forum.unity.com/threads/failed-to-install-cocoapods.489700/

次はxcode。

cocoapodのエラーを放置していたときに出ていたUndefined symbol: _GADAdSizeFullWidthPortraitWithHeightみたいな多数エラーは消えていたけど

Framework not found FBLPromises というエラーが一つだけ。

結論としては生成されているファイルのうち.xcodeprojを開くのではなく、.xcworkspaceをひらけとのこと!!

〇〇.xcodeprojは、ライブラリが入っていないプロジェクトで、〇〇.xcworkspaceは、ライブラリが入っているプロジェクトです。

https://ios-docs.dev/cocoapods/

次のエラー

〜〜〜 does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file ~~~’ for architecture arm64

TARGETS の全てについて Build Settings の Enable Bitcode を No にします。

https://www.create-forever.games/unity-xcode4-error-enable_bitcode/

無事実機で表示できた!

コメント

タイトルとURLをコピーしました