Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在问题导航器和构建日志中完全自定义Xcode 4运行脚本构建阶段错误/警告吗?_Xcode_Xcode4 - Fatal编程技术网

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

我可以在问题导航器和构建日志中完全自定义Xcode 4运行脚本构建阶段错误/警告吗?,xcode,xcode4,Xcode,Xcode4,我在某个地方的博客上读到,通过使用以下格式将消息打印到STDOUT,您可以将自己的构建脚本与Xcode的问题导航器和构建日志GUI集成在一起: FILENAME:LINE_NUMBER: WARNING_OR_ERROR: MSG (其中警告或错误是警告或错误) e、 g 将在somefile.ext的第10行显示警告,内容为“处理文件时出现问题”。这确实有效(这太棒了) 是否有此功能的官方文档(我找不到) 在问题导航器中,我得到了文件somefile.ext的警告,但问题的标题是“Shell

我在某个地方的博客上读到,通过使用以下格式将消息打印到STDOUT,您可以将自己的构建脚本与Xcode的问题导航器和构建日志GUI集成在一起:

FILENAME:LINE_NUMBER: WARNING_OR_ERROR: MSG
(其中警告或错误是
警告
错误

e、 g

将在somefile.ext的第10行显示警告,内容为“处理文件时出现问题”。这确实有效(这太棒了)

是否有此功能的官方文档(我找不到)


在问题导航器中,我得到了文件
somefile.ext
的警告,但问题的标题是“Shell脚本调用错误”(我的消息显示在标题下面)。有没有什么方法可以设置这个标题,或者我被那个通用的(而且很难看的)“Shell脚本调用错误”所困扰?

它并没有真正回答您关于是否可以自定义“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;

在自定义shell脚本中使用
0
退出将关闭“shell脚本调用错误”

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;