我可以在问题导航器和构建日志中完全自定义Xcode 4运行脚本构建阶段错误/警告吗?

Nic*_*rge 5 xcode xcode4

我在某个博客上读到,您可以使用以下格式将消息打印到STDOUT,从而将您自己的构建脚本与Xcode的Issues Navigator和Build Logs GUI集成:

FILENAME:LINE_NUMBER: WARNING_OR_ERROR: MSG
Run Code Online (Sandbox Code Playgroud)

(其中WARNING_OR_ERROR是warning或者error)

例如

/path/to/proj/folder/somefile.ext:10: warning: There was a problem processing the file
Run Code Online (Sandbox Code Playgroud)

将在第10行显示警告somefile.ext"处理文件时出现问题".这确实有效(这太棒了).

有没有关于此功能的官方文档(我找不到)?

在"问题导航器"中,我收到了该文件的警告somefile.ext,但问题的标题是"Shell脚本调用错误"(我的消息显示在标题下方).有没有办法设置该标题,还是我坚持使用那个通用(和丑陋)"Shell脚本调用错误"?

Pet*_*wis 0

它并没有真正回答您是否可以自定义“Shell 脚本调用错误”的问题,但是 perl 代码不会收到您描述的好的错误消息,但是如果您包含此 perl 模块(或只是其中的代码) )在你的 perl 脚本中,它确实会生成你所说的漂亮的错误消息(仍然是你提到的相同的“Shell 脚本调用错误”标题)。只是想我会与在 Xcode 中使用 perl 脚本并遇到非常糟糕的错误的任何人分享它。

package XcodeErrors;

use strict;
use warnings;

$SIG{__WARN__} = sub
{
    my @loc = caller(0);
    print STDERR "$loc[1]:$loc[2]: warning: ", @_, "\n";
    return 1;
};

$SIG{__DIE__} = sub
{
    my @loc = caller(0);
    print STDERR "$loc[1]:$loc[2]: error: ", @_, "\n";
    exit 1;
};


1;
Run Code Online (Sandbox Code Playgroud)