---
title: ICCameraDeviceDelegate
framework: imagecapturecore
role: symbol
role_heading: Protocol
path: imagecapturecore/iccameradevicedelegate
---

# ICCameraDeviceDelegate

Methods for detecting cameras, getting metadata and thumbnails, handling access and capability changes, and performing other actions on connected cameras.

## Declaration

```swift
protocol ICCameraDeviceDelegate : ICDeviceDelegate
```

## Topics

### Determining Device Readiness

- [deviceDidBecomeReady(withCompleteContentCatalog:)](imagecapturecore/iccameradevicedelegate/devicedidbecomeready(withcompletecontentcatalog:).md)

### Adding Objects

- [cameraDevice(_:didAdd:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didadd:)-8oukd.md)
- [cameraDevice(_:didAdd:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didadd:)-9pnzo.md)

### Removing Objects

- [cameraDevice(_:didRemove:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didremove:)-4m5al.md)
- [cameraDevice(_:didCompleteDeleteFilesWithError:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didcompletedeletefileswitherror:).md)
- [cameraDevice(_:didRemove:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didremove:)-9rz34.md)

### Renaming Objects

- [cameraDevice(_:didRenameItems:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didrenameitems:).md)

### Receiving Metadata

- [cameraDevice(_:didReceiveMetadata:for:error:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didreceivemetadata:for:error:).md)
- [cameraDevice(_:shouldGetMetadataOf:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:shouldgetmetadataof:).md)
- [cameraDevice(_:didReceiveMetadataFor:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didreceivemetadatafor:).md)

### Receiving Thumbnails

- [cameraDevice(_:didReceiveThumbnail:for:error:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didreceivethumbnail:for:error:).md)
- [cameraDevice(_:didReceiveThumbnailFor:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didreceivethumbnailfor:).md)
- [cameraDevice(_:shouldGetThumbnailOf:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:shouldgetthumbnailof:).md)

### Responding to Capability Changes

- [cameraDeviceDidChangeCapability(_:)](imagecapturecore/iccameradevicedelegate/cameradevicedidchangecapability(_:).md)

### Responding to Access Restrictions

- [cameraDeviceDidEnableAccessRestriction(_:)](imagecapturecore/iccameradevicedelegate/cameradevicedidenableaccessrestriction(_:).md)
- [cameraDeviceDidRemoveAccessRestriction(_:)](imagecapturecore/iccameradevicedelegate/cameradevicedidremoveaccessrestriction(_:).md)

### Responding to PTP Events

- [cameraDevice(_:didReceivePTPEvent:)](imagecapturecore/iccameradevicedelegate/cameradevice(_:didreceiveptpevent:).md)

## Relationships

### Inherits From

- [ICDeviceDelegate](imagecapturecore/icdevicedelegate.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Cameras

- [ICCameraDevice](imagecapturecore/iccameradevice.md)
- [ICCameraItem](imagecapturecore/iccameraitem.md)
- [ICCameraFile](imagecapturecore/iccamerafile.md)
- [ICCameraFolder](imagecapturecore/iccamerafolder.md)
