LoginSignup
1
1

More than 1 year has passed since last update.

Apple M1でコマンドラインからx86_64のiOSアプリをビルドする

Last updated at Posted at 2022-09-12

他メンバーの書いたコードの挙動を確認する際、自分はコードを変更していないけど更新を確認するために毎回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

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1