代码之家  ›  专栏  ›  技术社区  ›  user7684436

应用程序未从Watch接收内容

  •  0
  • user7684436  · 技术社区  · 6 年前

    在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类中,它也符合 并有以下信息发送到手机。

    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)")
            }
    

    WCSessionDelegate applicationDidFinishLaunching

    谢谢

    fileprivate func setupWatch() {
    
        if WCSession.isSupported() {
            session = WCSession.default
            session!.delegate = self
            session!.activate()
        }
    
    }
    
    0 回复  |  直到 6 年前