Dev-iOS/iOS

errorHandler: NO with WCErrorCodeDeliveryFailed 발생 시

lafortune 2024. 9. 5. 09:55
반응형

Watch - iPhone간에서 데이터를 전송하는데, WCSeesion이 활성화되어 있고, Reachable 상태인데도 아래와 같은 이벤트 로그가 발생하면서 데이터 송, 수신이 되지 않을때가 있다. 

WCSession _onqueue_notifyOfMessageError:messageID:withErrorHandler:] 0B2139AA-E8FA-4F2D-A368-20D058F45978 errorHandler: NO with WCErrorCodeDeliveryFailed

 

이런 경우에는 데이터를 전송하는 측에서 

WCSession.default.sendMessage(message, replyHandler: nil) { error in
    print("Error sending message: \(error.localizedDescription)")
}

 

replyHandler를 nil로 설정하지 않고, 아래와 같이 클로저 함수를 적용해주면 정상 동작한다.

if WCSession.default.isReachable {
    WCSession.default.sendMessage(message
                                  , replyHandler: { (reply) in do {
        print("reply : \(reply)")
    }}
                                  ,errorHandler: { error in
        print("Error sending message: \(error.localizedDescription)")
    })
}

 

 
반응형