---
title: ICDeviceCapability
framework: imagecapturecore
role: symbol
role_heading: Structure
path: imagecapturecore/icdevicecapability
---

# ICDeviceCapability

Constants that describe the capabilities of a camera.

## Declaration

```swift
struct ICDeviceCapability
```

## Topics

### Creating Device Capabilities

- [init(rawValue:)](imagecapturecore/icdevicecapability/init(rawvalue:).md)

### Taking Pictures

- [cameraDeviceCanTakePicture](imagecapturecore/icdevicecapability/cameradevicecantakepicture.md)
- [cameraDeviceCanTakePictureUsingShutterReleaseOnCamera](imagecapturecore/icdevicecapability/cameradevicecantakepictureusingshutterreleaseoncamera.md)

### Deleting Files

- [cameraDeviceCanDeleteOneFile](imagecapturecore/icdevicecapability/cameradevicecandeleteonefile.md)
- [cameraDeviceCanDeleteAllFiles](imagecapturecore/icdevicecapability/cameradevicecandeleteallfiles.md)

### Uploading Files

- [cameraDeviceCanReceiveFile](imagecapturecore/icdevicecapability/cameradevicecanreceivefile.md)

### Synchronizing the Clock

- [cameraDeviceCanSyncClock](imagecapturecore/icdevicecapability/cameradevicecansyncclock.md)

### Sending PTP Commands

- [cameraDeviceCanAcceptPTPCommands](imagecapturecore/icdevicecapability/cameradevicecanacceptptpcommands.md)

### Disconnecting

- [canEjectOrDisconnect](imagecapturecore/icdevicecapability/canejectordisconnect.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Inspecting a Device’s Capabilities

- [capabilities](imagecapturecore/icdevice/capabilities.md)
- [ICSessionOptions](imagecapturecore/icsessionoptions.md)
