【问题标题】:Cannot print to console in Xcode无法在 Xcode 中打印到控制台
【发布时间】:2021-02-17 01:07:19
【问题描述】:

我是 Xcode、macOS 开发等方面的新手。所以也许只是因为我是新手 - 但我无法尽全力制作简单的打印输出到控制台工作。

我为我的问题创建了一个最小的非工作示例:

import SwiftUI

struct Test: View {
    @State var message = "Test"
    var body: some View {
        Button(action: {
            print("test worked")
            message = "test worked"
       }) {
            Text(message)
       }
    }
}

struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

执行此操作时,按钮文本会发生变化,但控制台中不会出现任何内容。

我尝试按照本教程进行操作,但也无法使用:https://www.hackingwithswift.com/read/18/2/basic-swift-debugging-using-print

我尝试根据这个线程启用调试预览:How to print() to Xcode console in SwiftUI?

我尝试启用此设置:

没有任何帮助。我正在使用 Xcode 版本 12.1 (12A7403) 顺便说一句。

【问题讨论】:

  • 您是在运行应用程序还是仅使用 SwiftUI 预览? SwiftUI 预览不会打印到控制台。
  • 是的,我正在使用预览版。好的,这就是问题的原因。是否有可能从预览中显示/记录某些内容?

标签: ios swift xcode swiftui


【解决方案1】:

我也遇到了同样的问题。我认为这是一个错误。我很确定它正在处理一些以前的 xcode 版本。 无论如何,作为一种解决方法,您只需在要记录某些内容的行上设置断点,然后手动设置调试器命令操作,如图所示。

如果您只想打印日志而不实际停止,请不要忘记勾选复选框。

【讨论】:

    【解决方案2】:

    无需在设备或模拟器上启动应用即可在控制台中调试 SwiftUI 预览和打印。在画布上,确保单击“调试预览”。更多信息请访问Apple website.

    Xcode 12

    长按实时预览按钮,然后点击调试预览。


    Xcode 11

    右键单击(或按住 Control 单击)预览右下角的实时预览按钮。

    【讨论】:

    • 这让我感到困惑——正如我解释的那样,这正是不适合我的东西。
    【解决方案3】:

    您无法从 SwiftUI 预览打印到控制台。

    在预览中输出调试信息的唯一可能性是在预览中显示的Text(或任何其他 UI 元素)中显示您的日志。

    但是,如果您需要适当的调试,请运行完整的应用程序,不要使用预览。预览非常适合初始线框图,但是一旦您进入需要调试的阶段,请切换到在应用中使用视图并在模拟器(或真实设备)上运行该视图,而不是使用预览。

    【讨论】:

    • 您从何处获得此信息? Apple 故意为我们提供“预览调试”功能而不进行日志记录是非常愚蠢的。我想这只是一个错误。
    • @onthemoon 遗憾的是,这没有记录在案。这可能是一个错误,但我非常怀疑它是,我认为这只是 Apple 设想的 SwiftUI 预览的工作方式。老实说,如果您能够使用虚拟数据为您的视图创建预览,那么在SceneDelegate 中以相同的方式简单地实例化视图真的很容易,您可以从那里充分使用调试器。因此,如果您确实需要完整的调试行为,只需将您的视图插入您的 SceneDelegate 并运行应用程序。
    • 在尝试了这么多事情两个小时之后,实际上运行模拟器对我有用。天哪。感谢您的回答。
    【解决方案4】:

    我遇到了同样的问题,控制台中没有任何显示。这对我有帮助。确保标记右侧按钮以查看调试控制台。

    【讨论】:

    • 确定控制台是可见的!
    猜你喜欢
    • 1970-01-01
    • 2023-01-14
    • 2013-01-21
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 2014-04-14
    • 2019-10-24
    相关资源
    最近更新 更多