如何在SwiftUI预览中查看print语句的输出?
SwiftUI预览中查看print日志的方法
一、切换Xcode控制台到预览进程(最简单原生方案)
SwiftUI预览运行在独立进程中,默认控制台展示的是主应用进程的输出,只需切换进程即可看到预览的print日志:
- 打开Xcode调试区域(快捷键
Shift+Command+Y) - 在控制台顶部的「Process」下拉菜单里,选择名称包含「Preview」或项目名的预览进程
- 此时就能在Xcode控制台直接看到预览中
print语句的输出,包括Live Preview模式下的日志
二、自定义日志函数(区分预览与真机/模拟器)
如果不想频繁切换进程,可自定义日志函数给预览日志加专属标记,避免模拟器/真机输出杂乱:
func previewLog(_ message: Any) { #if DEBUG let isPreview = ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" let prefix = isPreview ? "[PREVIEW] " : "" print("\(prefix)\(message)") #endif }
替换原有print语句使用:
.onAppear { previewLog(proxy.size) }
之后在控制台搜索[PREVIEW]就能快速筛选预览日志,无需切换进程也能区分不同环境的输出。
三、使用断点日志(无需修改代码)
如果不想改动代码,可通过断点实现日志输出:
- 在
print语句所在行添加断点 - 右键断点选择「Edit Breakpoint...」
- 勾选「Log Message」,输入
%@(对应打印内容),并勾选「Automatically continue after evaluating actions」 - 预览运行时,断点会自动将日志输出到Xcode控制台,不会暂停代码执行
内容的提问来源于stack exchange,提问作者Senseful
相关产品推荐
相关产品推荐

