コンパイラからの出力をカスタムビルドステップ(アクション前またはアクション後)から確認するにはどうすればよいですか?
アクション前の出力は少なくともsystem.logに表示され、Console.appに表示されます。
ログナビゲーターに完全なビルド出力が表示されます(ビルド中に監視できます)。これは、[実行]ボタンと[ビルド]ボタンのすぐ下にある小さなアイコンの中で最も右側のアイコンです。
私の回答ごとに( Xcodeが事前アクションが失敗したかどうかを検出しないのは正常ですか? )これは、開発者フォーラムで議論されている問題です。アクション前/アクション後のスクリプトのゼロ以外のステータスは影響がないようであり、出力がログに記録されていないようです。
だから私は両方に方法を見つけました:
基本的な概念は、ビルドイベントからのすべての出力をさまざまなファイルに送信し、その出力をターゲットビルドスクリプトの一部として提示することです(出力を示し、終了またはキャンセルできます)。
警告ハックが近くにあります
2つの異なるファイルへの出力のポンプ処理を自動的に処理するビルドスクリプトを設定します... 1つは通常のログ用で、もう1つはstderr用です。または mine を使用します(スタックオーバーフローのコード検出がシェルスクリプトを誤解しているようなので、ブログに投稿しました)。
次に、そのようなスクリプトをスキームの事前構築フェーズで呼び出す必要があります。
"${PATH_TO_LOG_SCRIPT}/log_prebuild.sh" "${PATH_TO_PREBUILD_SCRIPT_TO_EXECUTE}/scriptToExecute.sh" 2> "${SOURCE_ROOT}/build/prebuild_error.log"
次に、ターゲットビルドフェーズのコンパイルフェーズの前に、これらのファイルの存在をチェックし、ログにダンプし、障害が発生した場合はビルドを中断するスクリプトをセットアップする必要があります。または、もう一度 mine を使用できます
次に、ビルドして指を交差させます:)