Apple Watch 未在设备上接收到 didReceiveUserInfo,但在模拟器中接收到

Apple Watch not receiving didReceiveUserInfo on device, but does in the simulator

我是第一次尝试制作 Apple Watch 应用程序,但在设备本身上测试它时遇到了一些问题。

我遵循了一个教程: https://www.natashatherobot.com/watchconnectivity-application-context/

当我从 phone 向模拟器中的手表发送数据时,我收到了预期的数据。我在控制台中打印已收到的数据。

但是当我尝试 运行 我自己的手表上的应用程序时,我没有收到任何回调。我已经尝试过: didReceiveApplicationContext didReceiveUserInfo

两者都可以在模拟器中使用,但不能在设备上使用。

如果我检查手表是否已配对并且可以连接,它会说是。我不知道为什么它在设备本身上不起作用,也不知道如何找到问题或如何进一步调试..

我在 Google 上也找不到任何关于它的信息...

有人吗?

我刚知道; 当您想在您的设备上测试 Watch 应用程序时,并且 运行 它来自 xcode,您首先必须 运行 您的 iPhone 上的应用程序。启动后,它会在手表上启动应用程序,然后我会收到应有的数据...

如果我先在手表上打开应用程序,它在为我调试时不起作用。

WatchConnectivity 适用于 iOS 2.0,您确定您的手表已更新到 iOS 2.0 吗?

我有同样的问题 - 当我 运行 在模拟器中观看应用程序时它工作正常并且可以使用方法“updateApplicationContext”从 iPhone 发送消息来观看和方法“didReceiveApplicationContext”效果很好。

但是如果你想运行真正的苹果手表设备上的应用程序,你需要先运行iPhone应用程序在真正的iPhone设备上安装手表通过 iPhone 的 "watch" 应用程序,然后方法“didReceiveApplicationContext”将起作用

只需使用 didReceiveMessage 即可。