他メンバーの書いたコードの挙動を確認する際、自分はコードを変更していないけど更新を確認するために毎回XCodeを立ち上げてビルドするのは、ナンセンスだと感じ、コマンドラインからビルドする方法を導入しました。
はじめに
iOSアプリをビルドする際はXCodeを開くことが多いと思います。XCodeは便利な機能も多いですが、起動がVSCodeといったエディタと比較して起動が遅いです。また、ボタンを押した際などの切り替わりも遅いことがあります。
他メンバーの書いたコードの挙動を確認する際、自分はコードを変更していないけど更新を確認するために毎回XCodeを立ち上げてビルドするのは、ナンセンスだと感じ、コマンドラインからビルドする方法を導入しました。
M1上でのビルド(ワークスペースを用いている場合)
利用しているすべてのフレームワークがarm64に対応している場合
xcodebuild -workspace <workspace> -scheme <scheme> -sdk <sdk>
# example
xcodebuild -workspace Hoge.workspace -scheme hoge -sdk i iphoneos15.5
x86_64のみでしかビルドできないフレームワークを利用している場合
先頭にarch -x86_64
をつけることによってx86_64アーキテクチャでビルドすることができます
arch -x86_64 xcodebuild -workspace <workspace> -scheme <scheme> -sdk <sdk>
補足
本来であればx86_64
で実行しないと動作しないコードをarm64
で一回でもビルドしてしまうと、キャッシュが残ってしまい、以後x86_64
でビルドしようとしてもFaildになってしまいます。そのような場合は末尾にclean build
をつけると、キャッシュを利用せず、ビルドを通すことができます
arch -x86_64 xcodebuild -workspace <workspace> -scheme <scheme> -sdk <sdk> clean build
参考文献