Swift没有使用print()命令打印到控制台,其他代码工作正常

时间:2017-06-18 21:24:45

标签: swift xcode xcode9

我使用XCode Version 9.0 beta (9M136h)编写一个带有watchkit扩展的应用程序。我可以让应用程序与手表应用程序通信,并使用WatchConnectivity Framework来回发送信息。我也有应用程序利用AlamoFire框架与服务器进行通信。

我的所有函数都被调用并执行,但是,似乎无法让print()将任何内容记录到控制台!我尝试在应用程序的不同区域放置各种print()命令,但它们都没有向控制台产生任何内容,即使它们周围的代码正常工作。

我100%确定我正在查看XCode的正确区域,我已经转到View->Debug Area->Activate Console并且我还确保选择了All output。我甚至尝试添加OS_ACTIVITY_MODE,其值为disabled,但似乎也没有做任何事情。

以下是我在ViewController.swift文件中使用它的示例:

override func viewDidLoad()
{
    super.viewDidLoad()
    print("view did load")
    initWCSession()
    print("Attorney General Jeff Sessions")
}

此代码会运行并调用initWCSession()函数,但我从未在任何地方看到"view did load""Attorney General Jeff Sessions"的任何输出!

这是XCode中的错误吗?有什么我忘了吗? (我是XCode的新手。)

3 个答案:

答案 0 :(得分:0)

尝试view.backgroundColor = .red

我认为视图控制器没有被调用。只是一个猜测。否则打印应该工作。

答案 1 :(得分:0)

我不确定为什么会这样,但我进入Edit Scheme并检查了记录malloc的复选框。我保存了这些设置,然后返回Edit Scheme并取消选中框并保存。

之后,我开始看到print()语句登录到控制台!

必须是此版本XCode中的错误。

答案 2 :(得分:0)

在最近的Xcode 11.3.1上,我从CocoaLumberjack获取日志行,但从我的print调用中获取任何信息。重新启动Xcode可以解决此问题。