58

コンソールから実行xcodebuildすると非常に詳細な出力が表示されますが、警告とエラーのみを表示するために出力を制限するオプションを見つけることができませんでした。

xcodebuild出力をキャプチャしてフィルタリングする方法を探しています。パイプで動作するPythonソリューションを好むでしょうが、コマンドラインベースのソリューションである限り、他のアプローチを受け入れます。

すでにこれを行うことができるツールはありますか?

4

11 に答える 11

50

と呼ばれる Ruby gem がありxcprettyます。

出力をフィルタリングし、xcodebuildさまざまなフォーマッターとカラーリングも提供します。

UPDATE : Mike Hardy がこの回答へのコメントで正しく述べているように、xcpretty維持されなくなりました。

于 2015-06-20T09:06:49.570 に答える
36

これは私には十分ではありません。/ dev / nullにパイプすると、ビルドが失敗したことが示されますが、理由はわかりません。理想的には、すべての成功したコンパイラコマンドがなくても、エラーや警告だけを見ることができます。

これは基本的に仕事をします:

xcodebuild | grep -A 5 error:
于 2012-03-05T11:52:17.327 に答える
24

エラー出力メッセージのみを表示するには、次のように標準出力を/ dev / null(ブラックホールとして機能する特別なファイル)にリダイレクトします。

xcodebuild> / dev / null

エラー出力をファイルにキャプチャする場合は、次の操作を実行できます。

xcodebuild 2> ./build_errors.log
于 2010-02-24T16:26:10.823 に答える
4

xcodebuild 出力をフォーマットすることもできるSwift コマンドライン ツールhttps://github.com/thii/xcbeautifyがあります。

于 2019-07-19T12:36:02.373 に答える
2

xcprettyは人間として見るのが好きですが、自動化された設定でビルドエラーを見つけて他の場所に伝播する必要があり、関連する情報だけをキャプチャしたことを確認したかった. 次の sed コマンドがその目的を果たします。

xcodebuild | sed -nE '/error:/,/^[[:digit:]] errors? generated/ p'

出力:

main.c:16:5: error: use of undeclared identifier 'x'
    x = 5;
    ^
main.c:17:5: error: use of undeclared identifier 'y'
    y = 3;
    ^
2 errors generated.
于 2016-04-14T21:40:45.360 に答える
0

警告を削除したい場合は、

xcodebuild <command> | sed -e '/warning:/,/\^/d'

使用中に警告を抑制したい場合は、xcprettyこれを試してください

xcodebuild <command> \
    | sed -e '/warning:/,/\^/d' \
    | xcpretty -s
于 2021-10-15T15:14:38.043 に答える