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.
・・・・・

というエラー。CocooaPodsが入ってないから入れろということ。

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

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

1. homebrewをいれる

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

homebrewとは : https://brew.sh/index_ja

手順1:homebrewをインストールするコマンドをターミナルに以下を入れる

/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

※消したけどどの書き方でもよさそう

手順2:homebrewがインストールされたか確認。ターミナルに以下を入れてバージョンが表示されれば完了

$ brew --version

homebrew完了!

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

自分の設定ファイル(デフォルトシェル)を知る:
echo $SHELL
  • ~/zshの場合:.zshrc
  • ~/bashの場合:.bash_profile
https://amateur-engineer.com/mac-path-zsh/

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

環境変数を追加:パターン1:ターミナルでシェルを開いて追加

.zshrc だったという例で、環境変数の追加方法その1

以下でターミナル上でシェルを開いて記入する

vi ~/.zshrc

各中身を確認する場合
vim ~/.zshrc
vim ~/.zprofile
vim ~/.bash_profile

上記でファイルを開き、

下記homebrewのパスを通すなら下記を入力してシェルの編集モードを閉じる

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

ところが閉じる方法がわからない!!という場合、詳しくは以下。

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

viを終了することができない人のためのviの使い方 https://blog.katty.in/853
環境変数を追加:パターン2:ターミナルでシェルは開かずに追加

ちなみに上記の一連の流れはターミナル上でファイル開かなくても以下を入力でも追加される。

1行だけのときはこっちが便利かも。

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
よくある例

echo 'export ****(大文字)_ROOT="$HOME/.****(小文字)"' >> ~/.zshrc
echo 'export PATH="$****(大文字)_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(****(小文字) init -)"' >> ~/.zshrc
環境変数を追加:パターン3:Finderでシェルファイルを開いて追加

Findeでファイルが見つけられればテキストエディタで追加するだけなので楽ちん

ファイルのありか

Macintosh HD>ユーザ>ユーザー名>.zshrc

.zshrcは隠しファイルなので shift+command+. で薄く表示される

最後に反映させる

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

source ~/.zshrc

他の例
source $HOME/.zprofile

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をインストール

1、インストールできるバージョンの確認
rbenv install -l 

2、rubyインストール
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
TIPS リストの一番新しいバージョンで入れたら下記エラーで、2.7.7だといけた次第
rbenv install 3.2.0

↓ 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.
3、インストールの確認

以下で確認 バージョン確認(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

Cocoapodsのインストール完了!

下記のエラーが出る場合

ところが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/

余談:UNITYから出力したファイルをXcodeで開くときの注意

次はxcode。

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

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

結論としてはcocoapod使っているときは
生成されているファイルのうち.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をコピーしました