---
title: CMWaterSubmersionManagerDelegate
framework: coremotion
role: symbol
role_heading: Protocol
path: coremotion/cmwatersubmersionmanagerdelegate
---

# CMWaterSubmersionManagerDelegate

A delegate that receives updates about ambient pressure, water pressure, water temperature, and submersion events.

## Declaration

```swift
protocol CMWaterSubmersionManagerDelegate : NSObjectProtocol
```

## Mentioned in

Accessing submersion data

## Overview

Overview The system calls your delegate’s methods to provide updated data to your app. When the watch isn’t submerged, your app receives event, measurement, and error messages. However, the measurement updates include only surface pressure and submersion state data. After submersion, the measurement updates include depth and water pressure data. The watch also begins receiving water temperature updates. note: The system calls all the delegate’s methods on an anonymous background queue. Typically, you need to dispatch this data to the main queue or pass it to a MainActor object before updating the user interface. The system sends measurement and temperature updates three times a second while the watch is submerged. When the watch is on the surface, the system provides updates at a slower rate, and may stop providing updates if the watch isn’t moving.

## Topics

### Receiving updates

- [manager(_:didUpdate:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-6qux6.md)
- [manager(_:didUpdate:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-7nhjb.md)
- [manager(_:didUpdate:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:didupdate:)-18wua.md)
- [manager(_:errorOccurred:)](coremotion/cmwatersubmersionmanagerdelegate/manager(_:erroroccurred:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Water submersion

- [Accessing submersion data](coremotion/accessing-submersion-data.md)
- [CMWaterSubmersionManager](coremotion/cmwatersubmersionmanager.md)
- [CMWaterSubmersionEvent](coremotion/cmwatersubmersionevent.md)
- [CMWaterSubmersionMeasurement](coremotion/cmwatersubmersionmeasurement.md)
- [CMWaterTemperature](coremotion/cmwatertemperature.md)
