---
title: "session(_:didReceiveUserInfo:)"
framework: watchconnectivity
role: symbol
role_heading: Instance Method
path: "watchconnectivity/wcsessiondelegate/session(_:didreceiveuserinfo:)"
---

# session(_:didReceiveUserInfo:)

Tells the delegate that the session successfully received a data directory from its counterpart.

## Declaration

```swift
optional func session(_ session: WCSession, didReceiveUserInfo userInfo: [String : Any] = [:])
```

## Parameters

- `session`: The session object of the current process.
- `userInfo`: A dictionary of property list values representing the contents of the message. Use the contents of this dictionary to determine what course of action to take.

## Discussion

Discussion The session object calls this method when it successfully receives a data dictionary from its counterpart. Implement this method to incorporate the data into the app’s content. The system calls this method on a background thread. warning: Always test Watch Connectivity data transfers on paired devices. The system doesn’t call the session(_:didReceiveUserInfo:) method in Simulator.

## See Also

### Managing Data Dictionary Transfers

- [session(_:didFinish:error:)](watchconnectivity/wcsessiondelegate/session(_:didfinish:error:)-8627b.md)
