【问题标题】:Apple Watch not receiving didReceiveUserInfo on device, but does in the simulatorApple Watch 未在设备上接收 didReceiveUserInfo,但在模拟器中接收
【发布时间】:2016-01-14 12:59:07
【问题描述】:

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

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

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

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

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

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

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

有人吗?

【问题讨论】:

    标签: ios swift2 watchkit watchos-2 watchconnectivity


    【解决方案1】:

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

    但是如果你想在真正的Apple Watch设备上运行应用程序,你需要先在真正的iPhone设备上运行iPhone应用程序,然后通过iPhone的“手表”应用程序安装手表应用程序,然后方法“didReceiveApplicationContext”就可以了

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 它有效!但我必须做其他事情才能让它发挥作用。在我的 iPhone 上运行应用程序后,我需要在 iPhone 上打开 Watch 应用程序(用于管理安装在 Apple Watch 上的应用程序),按下我的应用程序图标,然后在 Apple 上卸载并重新安装我的应用程序手表。之后,iPhone-Watch 的通信就完美了,就像在模拟器中一样……这个小问题花了我几个小时的工作。
      【解决方案3】:

      WatchConnectivity 在 iOS 2.0 上运行,所以您确定您的手表已更新到 iOS 2.0?

      【讨论】:

        【解决方案4】:

        只需改用didReceiveMessage

        【讨论】:

          猜你喜欢
          • 2011-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多