Xcodeでビルド時、「Command PhaseScriptExecution failed with a nonzero exit code」と出た時の対処法

はじめに

ここでは、表題の通りCommand PhaseScriptExecution failed with a nonzero exit codeと出た時に私が行った対処を書きます。かなり時間がかかったので、備忘録として残します。

前提条件

OS…Mac

Xcodeのバージョン…Xcode16.0

Xcodeを最新バージョンに上げていること

Xcodeのバージョンを上げた後、Update to recommended settings設定を行っていること


現象

会社がずいぶん前に開発したiOSアプリのバージョンアップ対応で発生しました。

Xcode15.0をXcode16.0にしたうえでビルドを通そうとしたところ、「Command PhaseScriptExecution failed with a nonzero exit code」と出てしまい、ビルドが完了できなくなっていました。

ログを確認したところ、「File Doesn’t Exist, Will Create : /Users/~.plist」とあったので、plistファイルが指定場所にないのかと確認したのですが、存在していたため何が原因でこのエラーが起きているのか分かりませんでした。

対処法

①.plistファイルのIdentity and Type画面を確認

Xcode上でIdentity and Type画面に表示される.plistファイルの相対パスがBuild SettingのInfo.plist File項目で設定したパスと一致しているか確認してください。

私は両社のパスが異なっていたため、以下の対応をしました。

 ・Xcodeの左画面から.plistに関係する部分をクリックして選択する

 ・上記の状態でIdentity and Type画面を開く

 ・Locationを「Relative to Project」と変更する

以上をするとLocation項目の真下に.plistファイルパスが表示されるので、それがBuild SettingのInfo.plist File項目で設定したパスと一致しているか確認します。

②Build Phasesの設定確認

XcodeのRun Script項目にあるInput Files項目に.plistファイルが設定されているか確認してください。

私のiOSアプリではビルド時に.plistファイルを読み込むスクリプトが書かれていたにも関わらず、設定されていませんでした。

Input Files項目は以下の順でたどるとあります。

 ・「Xcode左にあるプロジェクト名をクリックして選択」

 ・「TARGETSにあるアプリ名を押下」

 ・「Build Phasesを押下」

 ・「Run ScriptからInput Filesを見つけて設定する」

なお、設定するInput Filesは相対パスになります。xcode.projファイルと比べた際、plistがどこに位置するかを考えてください。

まとめ

上記の2つを実施したところ、ビルドが正常に通りました。Macはほとんど触ったことがなかったのでてこずりましたが、問題が解消できてほっとしました。同じようなエラーに遭遇した際、この記事がお役に立てば幸いです。

コストパフォーマンスの高い中古パソコンをお探しの方はCØLLEDA!

中古や再生品をお探しの方々、特にコストパフォーマンスを重視する学生やフリーランスの方はCØLLEDA(コレダ)をお勧めします。

CØLLEDA(コレダ)は、中古パソコンや再生品のオンラインショップで、ノートパソコン、デスクトップ、タブレットなど幅広い商品を取り扱っています。

  おすすめポイント

  • すべての商品が国内送料無料で、配送サービス迅速!
  • PC、デスクトップ、タブレットなど商品が幅広い!
  • 90日間の無料保証と返品・返金保証が付いており安心!
  • Windows機にはPolarisOfficeが無料で付属されている!