我正在学习如何为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()不起作用?
答案 0 :(得分:0)
都不打印的原因是因为调试控制台已连接到WatchKit应用程序,而您仅将它编程为在发生错误时进行打印。
"!!!!"
和message["Message"]
无法打印的原因是调试控制台未连接到iOS应用。
如果将控制台挂接到iOS应用程序,则会看到打印效果。