Xcode 11 / iOS 13 没有控制台输出

Posted

技术标签:

【中文标题】Xcode 11 / iOS 13 没有控制台输出【英文标题】:No console output from Xcode 11 / iOS 13 【发布时间】:2019-09-23 11:25:17 【问题描述】:

我的控制台没有提供任何输出,右侧没有prints 或系统调试信息,左侧没有变量。我打开了两个控制台窗口,并且选择了“所有输出”。我已经尝试重新启动 Xcode 和机器本身,但它似乎并没有解决问题。为了调试,我使用的是 Swift,我不确定这是否相关,但它是在启用多个窗口后发生的,但这可能是巧合。

这个问题是每个模拟器特有的,因为我发现的唯一解决方法是创建一个新的模拟器,但即使在第一次构建和运行后也会中断。

环顾四周,我发现 Xcode 8 上的其他人也出现了这个问题,并将 OS_ACTIVITY_MODE 参数添加到运行方案中可以解决这些问题,我已经尝试过,但在这种情况下不起作用。我怀疑这是 Xcode 11 / ios 13 特有的,因为根据我的经验,在以前的版本中没有发生过一次。

是否有任何长期解决方案?

【问题讨论】:

有时 Xcode 似乎不会用您的最新版本替换您的应用程序的先前版本,因此无论您之后添加什么,现有版本都不会反映新添加的代码,如打印和新功能.我不得不从设备中手动删除该应用程序。 对我来说,这种情况在使用多个窗口时经常发生(iPadOS 13 上的新功能,基于UIWindowSceneDelegate)。关闭除 1 个窗口以外的所有窗口可在下次运行时解决此问题。 @Klaas 这也适用于我。谢谢! 同意。关闭所有其他窗口。再次运行。然后添加另一个窗口以进行进一步的开发。在上面重复。 关闭窗口也对我有用。我有一个简单的应用程序来测试 UIScene,在 iOS 13.5 和 iPadOS 13.5 上运行。在 iPhone 上只有 1 个场景,并且调试控制台总是按应有的方式显示输出。在 iPad 上,我有 8 个场景,调试控制台不会显示任何“打印”输出。我关闭了除一个之外的所有窗口(通过在 App Switcher 中向上拖动),然后在下一次启动时控制台再次工作。然后我可以为应用程序“显示所有 Windows”并单击“重新打开关闭的 Windows”,然后控制台继续工作(即使在终止/启动应用程序之后)。 【参考方案1】:

对于 XCode 11 用户,如果您的控制台处于活动状态(查看 > 调试区域 > 激活控制台),在他们的控制台中没有得到任何输出,您必须右键单击 live preview 并选择 debug preview ,如下:

之后,您将开始在控制台中获得输出!

上面的输出是以下源代码,您可以将其创建为视图,比如 TestView.swift 并复制/粘贴:

import SwiftUI

struct TestView: View 
    var body: some View 
        Button(action:  print("Hello world!") ) 
            Text("Click me!")
        
    


struct TestView_Previews: PreviewProvider 
    static var previews: some View 
        TestView()
    

【讨论】:

以上是关于Xcode 11 / iOS 13 没有控制台输出的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 13、Xcode 11 中显示视图控制器的问题

iOS 13 和 Xcode 11 的布局问题

在 Scenedelgate 中设置视图控制器后 Xcode 11.5 IOS 13.5 黑屏

Google 和 Facebook 登录控制器在 Xcode 11 iOS 13 中以模态方式呈现

如何在 Xcode 11 中启动没有故事板 >= iOS 13 的新项目?

iOS Firebase 推送通知在 Xcode 11.5 和 iOS 13 的模拟器上不起作用