如何在 Xcode 中启用构建时间?
Posted
技术标签:
【中文标题】如何在 Xcode 中启用构建时间?【英文标题】:How to enable build timing in Xcode? 【发布时间】:2010-11-04 21:40:15 【问题描述】:我想知道我的项目构建需要多长时间,例如通过在构建窗格中显示它。 这个选项在 Xcode 中的某个地方可用吗?
谢谢。
【问题讨论】:
【参考方案1】:在终端输入:
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
持续时间在构建后显示在活动查看器中,旁边是“成功”消息。
如果您正在运行应用程序,在您看到持续时间之前,状态将被运行状态替换。
这替换了旧版本 Xcode 中使用的条目:
默认写com.apple.Xcode ShowBuildOperationDuration YES
在您输入此命令之前,可能需要关闭 Xcode。持续时间应显示在项目窗口的左下方。
来自 Xcode 开发人员的评论:“与所有未记录的用户默认值一样,这是不受支持的,假定(但不保证)准确,并且不能保证在未来的版本中有效。”
【讨论】:
这也适用于 Xcode 6。构建时间显示在窗口标题栏下方。 @bobobobo Xcode 6.1.1 中时间出现的截图 i.imgur.com/6KkYdls.png"> 有什么方法可以将它打印到文件中? 确认这在 Xcode 7.1.1 中适用于我(使用较新的com.apple.dt.Xcode
)
如果其他人想知道活动查看器是 xcode 中间顶部的窗口,它显示当前正在构建的内容以及进程的进度。【参考方案2】:
在 Xcode 10 中,您现在可以使用 Timing Summary 功能查看构建时间的详细分类。
产品->执行操作->使用时序摘要构建
这将显示您的每个目标构建时间和整个项目构建时间。您可以使用这些数据进行大量分析,构建时间将取决于您的硬件。如果您想了解更多信息,请查看 WWDC 2018 的 Building Faster in Xcode。
但是,Xcode 默认会跟踪您的所有构建,您可以通过转到其报告导航器来检查它们的时间和日志。
Build Logs within Report Navigator
【讨论】:
我无法从 XCode 中保存构建日志和计时。我只能在 XCode 输出中看到时间【参考方案3】:不,但您可以使用命令行。 cd 到你的项目目录并输入
time xcodebuild
【讨论】:
【参考方案4】:我在Build Phases
中用Run Script
s 解决了这个问题
我在构建的起点添加了一个运行脚本:
echo $(date +%s) > ../build_start_time
最后一个:
START=$(cat ../build_start_time)
END=$(date +%s)
echo $(echo "$END - $START" | bc)
现在我可以在 Build Log -> All Messages 中看到时间
【讨论】:
在 Xcode 6.4 中,它不允许您在任何“库存”构建阶段之前拖动运行脚本构建阶段。如果您创建了一堆额外的构建阶段,它会让您在它们之间重新排序,但似乎所有“库存”构建阶段都必须先出现。你找到解决办法了吗?【参考方案5】:Xcode 10 之后
如果您从命令行构建,请使用-showBuildTimingSummary
查看构建时间摘要。
xcodebuild -showBuildTimingSummary
Build Timing Summary
CompileSwiftSources (1 task) | 5.434 seconds
PhaseScriptExecution (1 task) | 5.046 seconds
CompileAssetCatalog (1 task) | 2.788 seconds
CompileStoryboard (1 task) | 1.880 seconds CompileMetalFile (5 tasks) | 1.735 seconds
CopySwiftLibs (1 task) | 0.740 seconds
Ld (2 tasks) | 0.306 seconds
CodeSign (3 tasks) | 0.177 seconds
CompileC (1 task) | 0.170 seconds
MetalLink (2 tasks) | 0.046 seconds
Ditto (4 tasks) | 0.032 seconds
LinkStoryboards (1 task) | 0.023 seconds
如果你使用 Xcode,Product->Perform Action->Build With Timing Summary
。并在 Xcode 构建日志中查看构建时间摘要。
【讨论】:
现在正确的命令行参数是-showBuildTimingSummary
以上是关于如何在 Xcode 中启用构建时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Lion 下的 Xcode 4.1 Instruments 中启用 NSZombie?