2017-12-03 12 views
0

나는 다음과 같은 코드가 있습니다배달 실패하면서 내 InterfaceController에서

가의 ViewController에서
@IBAction func buttonClicked() { 
     if (WCSession.default.isReachable) { 
      let message = ["Message": "Hello"] 
      WCSession.default.sendMessage(message, replyHandler: nil) 
      print ("message sent") 
     } 
    } 

나는 다음과 같은 코드가있다 : 나는를

override func viewDidLoad() { 
     super.viewDidLoad() 
     if (WCSession.isSupported()) { 
      let session = WCSession.default 
      session.delegate = self 
      session.activate() 
     } 
    } 

func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) { 
     print ("message received") 
     print (message) 
    } 

을 보내 Watch App의 메시지에서 다음 오류가 발생합니다.

message sent 
2017-12-03 19:33:03.903709+0530 Watch Extension[1761:74704] [WC] -[WCSession _onqueue_notifyOfMessageError:messageID:withErrorHandler:] 5BBE38F1-13C7-46E3-8E99-A874B43C6516 errorHandler: NO with WCErrorCodeDeliveryFailed 

iOS App의 디버그 창에서 나에게 다음과 같은 오류 메시지가 나타납니다. 정보 :

2017-12-03 19:35:28.706212+0530 WatchTest[1770:76097] [WC] -[WCSession onqueue_handleDictionaryMessageRequest:withPairingID:]_block_invoke delegate WatchTest.ViewController does not implement delegate method 
2017-12-03 19:35:28.707992+0530 WatchTest[1770:76097] [WC] -[WCSession _onqueue_sendResponseError:identifier:dictionaryMessage:] identifier: 96B10064-F17B-4D4B-8F5C-1154984D5163 with WCErrorCodeDeliveryFailed 

ViewController 클래스의 구현이 누락 되었습니까? 나는 다음에은 buttonClicked 동작 방법을 변경

답변

0

엑스 코드 9.0을 사용하고 있습니다 :

@IBAction func buttonClicked() { 
    if (WCSession.default.isReachable) { 
     let message = ["Message": "Hello"] 
     print ("message sent") 
     WCSession.default.sendMessage(message, replyHandler: { reply in 
      self.statusLabel.setText(reply["status"] as? String) 
     }, errorHandler: { error in 
      print("error: \(error)") 
     }) 
    } 
} 

및 SendMessage 아마 정의 할 응답 및 오류 처리기가 필요합니다.