如何在使用xcode构建时显示编译器输出或自定义构建步骤输出?
执行前输出至少出现在system.log中,并且在Console.app中可见。
您将在日志导航器中发现(并且您可以在构建期间观看)完整的构建输出。这是Run and Build按钮下方小图标的最右侧图标。
谢谢你给我这个暗示,唯一的问题是,我没有看到任何reffering到诉讼前或构建后的行动。我在shell脚本中加入了'echo',但我没有看到它。 – sorin 2011-03-24 16:44:51
感谢您发布此信息。我试图找到项目构建结果阿拉Xcode 3,这是关于尽可能接近你。 – TahoeWolverine 2011-05-25 20:28:52
日志导航器输出不包含Scheme“运行脚本”预执行的输出。正如Jonah指出的,它可以在Console.app – daver 2012-08-24 06:14:18
根据我在这里的答案(Is it normal for Xcode not to detect if a pre-action failed?)这是一个在开发论坛讨论的问题。操作前/后操作脚本非零状态似乎没有影响,输出似乎也不会将其记录到任何日志中。
我无法在devforum上找到关于此的任何讨论,但我添加了一个新的解决方案https://devforums.apple.com/message/427106#427106 – sorin 2011-05-03 08:05:30
论坛已移动,并且我没有看到任何讨论新论坛中的这个话题。 https://forums.developer.apple.com/search.jspa?q=xcode+logo – AnneTheAgile 2015-09-03 19:40:42
于是我想出了一个办法既:从
- 显示输出预构建脚本
- 停止生成脚本生成错误
的情况下,基本概念是将构建事件的所有输出发送到各种文件,然后将该输出作为目标构建脚本的一部分(它显示它的输出并可以退出或取消)。
警告黑客接近
设置一个构建脚本自动地处理抽输出到2个不同的文件... 1的常规日志,一个用于标准错误。或者使用mine(我在我的博客上公布,因为它似乎堆栈溢出代码检测很烂的shell脚本。)
那么你应该调用脚本在方案预生成阶段,像这样:
"${PATH_TO_LOG_SCRIPT}/log_prebuild.sh" "${PATH_TO_PREBUILD_SCRIPT_TO_EXECUTE}/scriptToExecute.sh" 2> "${SOURCE_ROOT}/build/prebuild_error.log"
然后,你需要在目标构建阶段的编译阶段之前设置脚本,检查这些文件的存在,将它们转储到日志中,并在出现故障时中断构建。或者你可以再次使用mine
然后建立和手指交叉:)
编辑:如下面这个答案只适用于构建阶段脚本注释中指出,不预动作和后动作脚本。
在Xcode 8中,您需要在“Navigator - > Report Navigator”中选择最新版本。在主要区域中,您将能够看到包含输出的完整构建日志。
下面是一个简单的“Hello world”回声
这仅适用于添加到生成阶段的脚本,该问题特别要求预先操作和后期操作脚本不起作用。 – Pranshu 2017-02-09 11:21:06
+1。我一直在看日志导航器,但无法看到我的回显被输出。然后我检查了Console.app,现在我看到它们在那里列出。所以Console.app的作品。 – neoneye 2011-07-16 09:41:25
xcode 5.1 - 我没有在那里看到我的回声。它改变了还是我的预执行脚本没有实际运行? – OrangeDog 2014-05-19 10:22:31
“checked Console.app”是什么意思?我似乎无法找到我的方案预行动脚本输出 – hunteros 2014-10-08 21:47:18