【问题标题】:watchkit sendmessage errorHandler not calledwatchkit sendmessage errorHandler 未调用
【发布时间】:2018-01-08 03:26:34
【问题描述】:

我试图从手表向手机发送消息。如果电话未连接,请稍后发送消息。但是,在实际手表上进行测试时,似乎没有调用错误处理程序。我的 sentFlag 不是假的。

func sendMessageToPhone(paraMessage: Dictionary<String, Any>) -> Bool
{       
    var sentFlag : Bool

    sentFlag = true

    session.sendMessage(paraMessage, replyHandler: nil,
                        errorHandler: { (_ error: Error) -> Void in
        sentFlag =  false

    })

    return sentFlag
}

【问题讨论】:

    标签: swift watchkit sendmessage wcsession


    【解决方案1】:

    当相应的事件发生时,处理程序被异步调用。另一方面,该函数将在调用 sendMessage 方法后立即返回。因此,您的函数将始终返回 true。

    您需要在错误处理程序中实现调度新消息,或者如果您已经在其他地方调度了定期后台任务,则将 sendFlag 实现为您的类属性,而不是局部变量。

    【讨论】:

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