通过Apple Watch向iPhone发送消息时,为什么print()不起作用?

时间:2018-07-27 16:12:39

标签: swift watchkit apple-watch wcsession

我正在学习如何为iPhone应用程序创建配套的Watch App。 (一切都在模拟器上完成)

当我点击“手表”应用上的按钮时,我正在发送消息。

session.sendMessage(["Message": "It Worked" ], replyHandler: nil) { (error) in
        print(error)
    }

然后我在ViewController.swift中收到消息:

func session(_ session: WCSession, didReceiveMessage message: [String : Any]) {
    print(message["Message"])
    print("!!!!")
    theLabel.text = message["Message"] as! String

}

两个打印功能均未触发。但是我知道我收到消息,因为我的标签正在更新。断点在此功能中也不起作用。如果我在didRecieveMessage函数中放置了另一个函数调用,它将触发。

这是一个错误吗?这让我觉得我的消息没有被最长发送,因为我只是想查看该函数是否通过print()和断点触发。

如果不是bug,为什么print()不起作用?

1 个答案:

答案 0 :(得分:0)

都不打印的原因是因为调试控制台已连接到WatchKit应用程序,而您仅将它编程为在发生错误时进行打印。

"!!!!"message["Message"]无法打印的原因是调试控制台未连接到iOS应用。

如果将控制台挂接到iOS应用程序,则会看到打印效果。