---
title: AVExternalSyncDevice
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avexternalsyncdevice
---

# AVExternalSyncDevice

An external sync device connected to a host device that can be used to drive the timing of an internal component, such as a camera sensor.

## Declaration

```swift
class AVExternalSyncDevice
```

## Overview

Overview Each instance of AVExternalSyncDevice corresponds to a physical external device that can drive an internal component, like a camera readout. You cannot create instances of AVExternalSyncDevice. Instead, you obtain an array of all currently available external sync devices using AVExternalSyncDevice.DiscoverySession.

## Topics

### Finding and monitoring devices

- [AVExternalSyncDevice.DiscoverySession](avfoundation/avexternalsyncdevice/discoverysession.md)

### Inspecting a device

- [clock](avfoundation/avexternalsyncdevice/clock.md)
- [productID](avfoundation/avexternalsyncdevice/productid.md)
- [signalCompensationDelay](avfoundation/avexternalsyncdevice/signalcompensationdelay.md)
- [status](avfoundation/avexternalsyncdevice/status.md)
- [uuid](avfoundation/avexternalsyncdevice/uuid.md)
- [vendorID](avfoundation/avexternalsyncdevice/vendorid.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### External synchronization

- [AVExternalSyncDeviceDelegate](avfoundation/avexternalsyncdevicedelegate.md)
- [AVExternalSyncDeviceStatus](avfoundation/avexternalsyncdevicestatus.md)
- [AVExternalSyncDevice.DiscoverySession](avfoundation/avexternalsyncdevice/discoverysession.md)
