为啥通过 Apple Watch 向 iPhone 发送消息时 print() 不起作用?
Posted
技术标签:
【中文标题】为啥通过 Apple Watch 向 iPhone 发送消息时 print() 不起作用?【英文标题】:Why doesn't print() work when sending a message via Apple Watch To iPhone?为什么通过 Apple Watch 向 iPhone 发送消息时 print() 不起作用? 【发布时间】:2018-07-27 16:12:39 【问题描述】:我正在学习如何为 iPhone 应用创建配套的 Watch 应用。 (一切都在模拟器上完成)
当我点击 Watch 应用上的按钮时,我正在发送消息。
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() 和断点触发。
如果不是错误,为什么 print() 不起作用?
【问题讨论】:
嘿@Chris 感谢您的回答。我相信你的回答有点不对劲。调试控制台连接到 Watch 应用程序,而不是 iPhone 应用程序。另外,您的链接指向一个看似无关的关于 Ruby 的帖子? 道歉;这是我想要的链接:***.com/a/41948663 【参考方案1】:两者都没有打印的原因是因为调试控制台连接到 WatchKit 应用程序,而您只编写了在出错情况下打印的程序。
"!!!!"
和 message["Message"]
没有打印的原因是调试控制台没有连接到 ios 应用程序。
如果您将控制台连接到 iOS 应用程序,您会看到打印工作。
【讨论】:
以上是关于为啥通过 Apple Watch 向 iPhone 发送消息时 print() 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 iPhone 无法从 Apple Watch 获取心率数据,但手表扩展程序却可以?
当 Apple Watch 处于后台状态或睡眠模式时,我们如何从 iphone 向 Apple Watch 发送消息?