应用未从手表接收内容

时间:2018-07-11 11:15:33

标签: ios swift watchkit

处理个人项目并尝试从Apple Watch接收内容。发送的数据很好,但是手机或手表都没有响应。

在AppDelegate内部,我在didFinishLaunchingWithOptions内部启动了一个会话,它符合WCSessionDelegate

    func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) {
    var replyValues = [String : Any]()
    switch message["command"] as! String {
    case "logAttempt":
        print("Log attempt")
        replyValues["response"] = "true"
    case "getData":
        print("Get course data")
        replyValues["response"] = "true"
    default:
        break
    }
    replyHandler(replyValues)

在WatchKit类中,它还符合WCSessionDelegate,并具有以下内容可将消息发送到手机。

session.sendMessage(data, replyHandler: { replyHandler in
            print(replyHandler)
            if let response = replyHandler["response"] as? String {
                print("app: Response from app to watch: \(response)")
            } else {
                print("error: Somethings wrong!: \(replyHandler["response"])")
            }
        }) { error in
            print("Error: \(error.localizedDescription)")
        }

ExtensionDelegate.swift文件也符合WCSessionDelegate,并在applicationDidFinishLaunching内部启动会话。努力做到这一点。

谢谢!

编辑:在appDel中设置手表:

fileprivate func setupWatch() {

    if WCSession.isSupported() {
        session = WCSession.default
        session!.delegate = self
        session!.activate()
    }

}

0 个答案:

没有答案