使用xcode构建时如何显示编译器输出或自定义构建步骤输出?
如何从自定义生成步骤(操作前或操作后)查看的编译器的输出?您将在日志导航器中找到(并且可以在生成过程中查看)完整的生成输出。这是运行和构建按钮下方小图标中最右边的图标。根据我的回答这里()这是一个在开发人员论坛上讨论过的问题。操作前/操作后脚本非零状态似乎没有影响,输出似乎也没有进入任何日志。操作前输出至少出现在system.log中,并且在Console.app中可见。因此我想出了一种方法来实现这两个目标:使用xcode构建时如何显示编译器输出或自定义构建步骤输出?,xcode,xcode4,xcodebuild,Xcode,Xcode4,Xcodebuild,如何从自定义生成步骤(操作前或操作后)查看的编译器的输出?您将在日志导航器中找到(并且可以在生成过程中查看)完整的生成输出。这是运行和构建按钮下方小图标中最右边的图标。根据我的回答这里()这是一个在开发人员论坛上讨论过的问题。操作前/操作后脚本非零状态似乎没有影响,输出似乎也没有进入任何日志。操作前输出至少出现在system.log中,并且在Console.app中可见。因此我想出了一种方法来实现这两个目标: 显示预生成脚本的输出 发生生成错误时停止生成脚本 基本概念是将构建事件的所有输出发送到
设置一个构建脚本,自动处理泵输出到2个不同的文件。。。1个用于常规日志,1个用于标准日志。或者使用(我在我的博客上发布,因为堆栈溢出代码检测在shell脚本中似乎很糟糕。) 然后,您应该在方案预构建阶段调用该脚本,如下所示:
"${PATH_TO_LOG_SCRIPT}/log_prebuild.sh" "${PATH_TO_PREBUILD_SCRIPT_TO_EXECUTE}/scriptToExecute.sh" 2> "${SOURCE_ROOT}/build/prebuild_error.log"
然后,您需要在目标构建阶段的编译阶段之前设置一个脚本,该脚本检查这些文件的存在,将它们转储到日志中,并在出现故障时中断构建。或者你可以再次使用
然后构建并交叉手指:)编辑:正如下面的评论所指出的,这个答案只适用于构建阶段脚本,而不适用于操作前和操作后脚本
在Xcode 8中,您需要在“Navigator->Report Navigator”中选择最新的内部版本。在主区域中,您将能够看到完整的构建日志,包括您的输出 下面是一个简单的“Hello world”回音
在我的例子中,我必须以友好的方式向用户显示
预操作
脚本中的错误。受此启发,我发现我可以用Xcode显示对话框或脚本
prebuild.sh
中,使用AppleScript显示对话框
show_dialog(){
/usr/bin/osascript-e'将titleText设置为“预操作脚本错误”
将dialogText设置为“请安装xxx以修复它”
显示对话框文本,带图标停止,标题为“文本”
}
显示对话框
我在这里使用stop
图标,您也可以使用其他图标,如note
和caution
show_通知(){
/usr/bin/osascript-e“显示通知”请安装xxx以修复它,标题为“发生错误”副标题为“预构建”声音名称“青蛙”
}
显示通知
对我来说,我通常使用scripteditor
编辑AppleScript函数,然后将它们复制到Shell脚本中
苹果参考号
echo
,但我没有看到它。感谢您发布这篇文章。我试图通过xcode 3找到逐项构建结果,这与您得到的结果差不多。Log Navigator输出不包括Scheme“Run Script”预操作的输出。正如Jonah所指出的,对于那些仅仅通过“显示”日志导航器而无法找到原始编译器输出的人来说,它可以在Console.app中看到:随着日志导航器的显示,主窗格中应该有一个以XCode格式列出的整体步骤列表,旁边有复选标记。找到感兴趣的步骤(在我的步骤中,它说“compilemain.cpp”)。点击它。在最右边,会出现一个看起来像文本文件的小图标。单击此按钮,最终显示%&^%*编译输出。我在devforum上找不到任何关于此的讨论,但我添加了论坛已移动的新步骤,并且在新论坛中没有看到任何关于此主题的讨论+1.我一直在查看日志导航器,但无法看到我的回声被输出。然后我查看了Console.app,现在我看到它们列在那里。所以Console.app works.xcode 5.1-我在那里看不到我的回声。它是否改变了,或者我的预操作脚本实际上没有运行?什么是“checked Console.app”意思?我似乎找不到Xcode 5的scheme预操作脚本输出,谢谢!Whew.这只适用于添加到构建阶段的脚本,这个问题特别要求在不起作用的情况下使用操作前和操作后脚本。正确答案是cody的-要查看日志,只需单击Xcode中的“日志”按钮:)