我想知道我的项目的构建需要多长时间,例如通过在构建窗格中显示它。 这个选项在 Xcode 的某个地方有吗?
谢谢。
不,但是您可以使用命令 line. cd 到您的项目目录并键入
time xcodebuild
在终端输入:
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
持续时间显示在构建之后的活动查看器中,与“成功”消息一起。
如果您正在运行应用程序,状态将被替换为运行状态之前,您可以看到的持续时间。
这将替换 Xcode 旧版本中使用的条目:
默认写 com.apple. Xcode ShowBuildOperationDurationYES
Xcode may need to be closed before you enter this command. Durations should appear at the bottom left of the project window.
来自 Xcode 开发人员的评论: “与所有未记录的用户默认值一样,这是不受支持的,假定(但不保证)准确,并且不能保证在未来的版本中有效。”
我用 Build Phases中的 Run Script解决了这个问题
Build Phases
Run Script
I have added one Run Script at start point of the build:
echo $(date +%s) > ../build_start_time
最后一个:
START=$(cat ../build_start_time) END=$(date +%s) echo $(echo "$END - $START" | bc)
现在我可以看到时间在建立日志-> 所有消息
在 Xcode 10中,您现在可以使用 TimingSummary 特性看到构建时间的大分解。
Product->Perform Action->Build With Timing Summary
这将显示每个目标构建时间和整个项目构建时间。您可以使用此数据进行大量分析,并且构建时间将取决于您的硬件。如果你想了解更多,请查看 WWDC 2018的 Xcode 建设更快。
但是,Xcode 默认情况下会跟踪所有构建,您可以通过访问它们的报表导航器来检查它们的时间和日志。
在报表导航器中生成日志
在 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