1

I am trying to send image from iOS to watchOS and I am getting below error.

sendMessageData getting error: Error Domain=WCErrorDomain Code=7014 "Payload could not be delivered." UserInfo={NSLocalizedDescription=Payload could not be delivered.

My code in ViewController Class

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

    }

     let image = UIImage(named: "img1")!
     let data = UIImagePNGRepresentation(image)
     session?.sendMessageData(data!, replyHandler: { (data) in
          print(data)
        }) { (error) in
            print(error)}
}

In InterfaceController Class

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

 func session(_ session: WCSession, didReceiveMessageData messageData: Data) {
        guard let image = UIImage(data: messageData) else {
            return
        }
        print(image)
 }

Thanks,

Anand Suthar
  • 3,678
  • 2
  • 30
  • 52
Raj Joshi
  • 2,669
  • 2
  • 30
  • 37

1 Answers1

1

I think you need to try below protocol as mentioned here.

 func session(_ session: WCSession, didReceiveMessageData messageData: Data, replyHandler: @escaping (Data) -> Void) {

    guard let image = UIImage(data: messageData) else {
        return
    }

    print(image)
    imageSet.setImage(image)
}
Anand Suthar
  • 3,678
  • 2
  • 30
  • 52