【问题标题】:replyHandler not received for sendMessage when Apple Watch is in background当 Apple Watch 在后台时,未收到 sendMessage 的回复处理程序
【发布时间】:2015-11-15 10:16:15
【问题描述】:

我正在为 Apple Watch OS2 制作我的应用程序,其中我使用 sendMessage:replyHandler 进行黑白 iPhone 和 Watch 的通信。现在的问题是,当我从手表向 iPhone 发送消息并进入手表后台时,我没有收到任何回复处理程序返回我的手表。当手表应用程序处于前台时,这工作正常。任何建议将不胜感激。

【问题讨论】:

    标签: apple-watch watchos-2 watchconnectivity


    【解决方案1】:

    这是预期的行为。

    sendMessage 用于当前重要的快速前台通信,在无法交付时丢弃。

    在后台观看应用程序不执行任何操作,因此无法交付。

    如果您想更可靠但不那么快地向手表获取信息,请使用排队并在后台运行的 transferUserInfo。

    【讨论】:

    • 谢谢。是真的说。但是即使我使用了 transferUserInfo 或 updateApplicationContext,我的手表在唤醒时也没有收到委托回调。
    • 是的,您没有收到回电。 transferUserInfo 是您对可以使用相应委托方法接收的信息进行排队的方式。 sendMessage 就像说话:如果没有人在听,声音就会丢失。 transferUserInfo 更像是邮件。您可以稍后阅读。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2016-04-14
    • 2016-05-03
    相关资源
    最近更新 更多