Instance Method


Called when an immediate data message arrives and requires a response.


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



The session object that received the data from its counterpart.


The data object received from the counterpart. Use the contents of this object to determine what course of action to take.


A reply block to execute with the response. This block has no return value and takes the following parameter:


A data object containing your response to message.


This method is called in response to a message sent by the counterpart process using the sendMessageData(_:replyHandler:errorHandler:) method. This specific method is called when the counterpart specifies a valid reply handler, indicating that it wants a response. Use this method to process the message data and provide an appropriate reply. You must execute the reply block as part of your implementation.

Use messages to communicate quickly with the counterpart process. Messages can be sent and received only while both processes are active and running.

The delivery of multiple messages occurs serially, so your implementation of this method does not need to be reentrant. This method is called on a background thread of your app.

See Also

Receiving Immediate Messages

func session(WCSession, didReceiveMessage: [String : Any])

Called when an immediate message arrives.

func session(WCSession, didReceiveMessageData: Data)

Called when an immediate data message arrives.