事象
Xcodeでプロジェクトの開発環境構築のために、Terminal でスクリプトを実行した結果、以下のエラーが出力されました。
error: terminated(72): /usr/bin/xcrun --sdk macosx --find xctest output:
xcrun: error: unable to find utility "xctest", not a developer tool or in PATH
xcrun は、開発者ツールを実行したり検索するコマンドです。
原因
Xcodeのコマンドラインツールに、別のバージョンを指定していたのが原因でした。
例えば、開発環境構築の時に使用したりする xcodebuild
は、Xcode のコマンドラインツールのバージョンを参照するので、開発環境構築の時に起こりがちなエラーです。
業務で Xcode を利用するときは、案件ごとに使用する Xcode のバージョンが違うことがあるので、私はよくやっちゃいます
ちなみに私は、Xcodeアプリの名前の末尾にバージョン番号を付して、目視ですぐにバージョンが区別でるようにしています。
例
- Xcode_13.3.1.app
- Xcode.app(最新)
対応方法
Terminal での確認・変更方法と、Xcode の設定画面からの確認・変更方法があります。
順番にやり方を書いていきます。
Terminal での対応方法
まずは、現在使用している Xcode のコマンドラインツールのバージョンを確認します
以下のコマンドを入力します。
xcode-select -p
または
xcode-select --print-path
出力結果
/Applications/Xcode.app/Contents/Developer
どうやらエラー発生時には、Xcode.app という名前のアプリのコマンドラインツールを使っていたようです。
次に、使用したい Xcode のコマンドラインツールのバージョンを更新します
今回私の場合は、Xcode_13.3.1.app というアプリ名のコマンドラインツールを使いたいので、そのアプリ名を指定します。
sudo xcode-select -s /Applications/{使用したい Xcode のアプリ名.app}/Contents/Developer
例
sudo xcode-select -s /Applications/Xcode_13.3.1.app/Contents/Developer
Xcode の設定画面での対応方法
Xcode を開きます
Xcode のツールバーから [Preference](環境設定)を開きます
[Locations] を選択します
下部に [Command Line Tools] という設定項目があります。
ここに表示されているバージョンが、現在設定されている、Xcode のコマンドラインツールのバージョンです。
[Command Line Tools] のプルダウンボタンをクリックして、選択肢から、使用したい Xcode のコマンドラインツールのバージョンを選択します
まとめ
開発環境構築時にやりがちなエラーについて、対応方法を説明しました。
対応方法には、Terminal での確認・変更方法と、Xcode の設定画面からの確認・変更方法があり、好きな方で対応できることがわかりました。