如何使用xcode构建时显示编译器输出或自定义构建步骤输出?

sor*_*rin 33 xcode xcodebuild xcode4

如何从自定义构建步骤(操作前或操作后)中查看编译器的输出?

Cod*_*odo 28

您可以在Log Navigator中找到(并且可以在构建期间观察)完整的构建输出.这是"运行"和"构建"按钮正下方的小图标的最右侧图标.

  • 感谢给我这个提示,唯一的问题是我没有看到任何有关构建前动作或后动作的东西.我在shell脚本中包含了`echo'而我看不到它. (3认同)
  • 对于任何只能通过"显示"日志导航器找不到原始编译器输出的人:在显示日志导航器的情况下,应该有一个整体步骤列表,采用XCode格式,旁边有复选标记,位于主窗格中.找到感兴趣的步骤(在我的,它说"编译main.cpp").点击它.在最右边,会出现一个看起来像文本文件的小图标.单击此按钮,最后显示%&^%*编译输出. (3认同)

Jon*_*nah 14

预操作输出至少出现在system.log中,并在Console.app中可见.

  • xcode 5.1 - 我没有看到我的回声.它是否改变了或者我的预执行脚本实际上没有运行? (5认同)
  • "check Console.app"是什么意思?我似乎无法找到我的方案预操作脚本输出 (2认同)

Nik*_*jic 9

编辑:正如下面的评论中所指出的,这个答案只适用于构建阶段脚本,而不适用于动作前和动作后脚本。


在 Xcode 8 中,您需要在“Navigator -> Report Navigator”中选择最新版本。在主要区域,您将能够看到完整的构建日志,包括您的输出。

导航器选择

这是一个简单的“Hello world”回声

日志

  • 这仅适用于添加到构建阶段的脚本,该问题特别要求在它不起作用的情况下执行操作前和操作后脚本。 (4认同)

Jos*_*zzi 5

根据我在此处的回答(Xcode 不检测预操作失败是否正常?)这是开发论坛中讨论过的问题。前/后操作脚本非零状态似乎没有影响,输出似乎也没有进入任何日志。


RY_*_*eng 5

pre-action就我而言,我必须以友好的方式向用户显示脚本中的错误。受到这个自定义存档脚本的启发,我发现我可以在 Xcode 中显示对话框或脚本。

  1. 添加预操作脚本 在此输入图像描述
  2. prebuild.sh,使用AppleScript来显示Dialog
show_dialog() {
  /usr/bin/osascript -e 'set titleText to "pre actions script error"
set dialogText to "Please install xxx to fix it"
display dialog dialogText with icon stop with title titleText' 
}
show_dialog

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我这里使用stop图标,您也可以使用其他图标,例如note、 和caution

  1. 如果显示对话或更改太苛刻,您notification也可以考虑。
show_notification() {
/usr/bin/osascript -e 'display notification "Please install xxx to fix it" with title "A error happens" subtitle "Prebuild" sound name "Frog"'
}

show_notification

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

对我来说,我通常用来Script Editor编辑AppleScript函数,然后将它们复制到Shell脚本中

苹果参考