TechnologiesVideo, Photos & Camera

ImageCaptureCore

iOSmacOStvOSwatchOSvisionOS

ImageCaptureCore lets you browse and import photos and media from cameras, scanners, and other connected image-capture devices on iOS, macOS, and visionOS. Use ICDeviceBrowser and its delegate to discover connected hardware, then work with an ICDevice such as an ICCameraDevice or ICScannerDevice to access its contents and capabilities. From a camera you enumerate ICCameraItem objects like ICCameraFile and ICCameraFolder and download them using options such as ICDownloadOption and ICUploadOption, while ICScannerDevice exposes scanning through types including ICScannerFunctionalUnitType, ICScannerBitDepth, and ICScannerFeature. Delegate protocols including ICCameraDeviceDelegate, ICScannerDeviceDelegate, and ICDeviceDelegate report device status, transfers, and results such as ICDeleteResult.

Device Discovery 2

Find and browse image-capture devices connected to the system.

  • Cl
    ICDeviceBrowsermacOS 10.4+
    @class ICDeviceBrowser
  • Pr
    ICDeviceBrowserDelegate
    @protocol ICDeviceBrowserDelegate <NSObject>

Devices 3

The base device type and the camera and scanner devices it represents.

  • Cl
    ICDevicemacOS 10.4+
    @class ICDevice
  • Cl
    ICCameraDevicemacOS 10.4+
    @class ICCameraDevice
  • Cl
    ICScannerDevicemacOS 10.4+
    @class ICScannerDevice

Device Delegates 4

Protocols that report device connection state, contents, and transfer events.

  • Pr
    ICDeviceDelegate
    @protocol ICDeviceDelegate <NSObject>
  • Pr
    ICCameraDeviceDelegate
    @protocol ICCameraDeviceDelegate <ICDeviceDelegate>
  • Pr
    ICCameraDeviceDownloadDelegate
    @protocol ICCameraDeviceDownloadDelegate <NSObject>
  • Pr
    ICScannerDeviceDelegatemacOS 10.4+
    @protocol ICScannerDeviceDelegate <ICDeviceDelegate>

Camera Items 3

The files and folders that make up a camera's media contents.

  • Cl
    ICCameraItemmacOS 10.4+
    @class ICCameraItem
  • Cl
    ICCameraFilemacOS 10.4+
    @class ICCameraFile
  • Cl
    ICCameraFoldermacOS 10.4+
    @class ICCameraFolder

Download, Upload & Metadata Options 6

Keys and option types that control how camera items are downloaded, uploaded, and described.

  • St
    ICDownloadOptionmacOS 10.4+
    Keys that specify options for downloading a file from a camera device.
  • St
    ICUploadOptionmacOS 10.4+
    Keys that specify options for uploading a file to a camera device.
  • St
    ICCameraItemMetadataOptionmacOS 10.15+
    Keys that specify options for requesting metadata from a camera item.
  • St
    ICCameraItemThumbnailOptionmacOS 10.15+
    Keys that specify options for requesting a thumbnail from a camera item.
  • St
    ICSessionOptionsmacOS 10.15+
    Options that configure a session opened with a device.
  • St
    ICDeviceLocationOptions
    Options that describe where and how a device is located.

Scanner Functional Units 8

The scanning hardware units and the modes they expose for acquiring images.

  • Cl
    ICScannerFunctionalUnitmacOS 10.4+
    @class ICScannerFunctionalUnit
  • Cl
    ICScannerFunctionalUnitFlatbedmacOS 10.4+
    @class ICScannerFunctionalUnitFlatbed
  • Cl
    ICScannerFunctionalUnitDocumentFeedermacOS 10.4+
    @class ICScannerFunctionalUnitDocumentFeeder
  • Cl
    ICScannerFunctionalUnitPositiveTransparencymacOS 10.4+
    @class ICScannerFunctionalUnitPositiveTransparency
  • Cl
    ICScannerFunctionalUnitNegativeTransparencymacOS 10.4+
    @class ICScannerFunctionalUnitNegativeTransparency
  • En
    ICScannerFunctionalUnitTypemacOS 10.4+
    @ICScannerFunctionalUnitType
  • En
    ICScannerFunctionalUnitStatemacOS 10.4+
    @ICScannerFunctionalUnitState
  • Cl
    ICScannerBandDatamacOS 10.4+
    An object that holds a band of image data delivered during a scan.

Scanner Features 6

Configurable scanner parameters and the value types that describe their ranges and options.

  • Cl
    ICScannerFeaturemacOS 10.4+
    @class ICScannerFeature
  • Cl
    ICScannerFeatureBooleanmacOS 10.4+
    @class ICScannerFeatureBoolean
  • Cl
    ICScannerFeatureEnumerationmacOS 10.4+
    @class ICScannerFeatureEnumeration
  • Cl
    ICScannerFeatureRangemacOS 10.4+
    @class ICScannerFeatureRange
  • Cl
    ICScannerFeatureTemplatemacOS 10.4+
    @class ICScannerFeatureTemplate
  • En
    ICScannerFeatureTypemacOS 10.4+
    @ICScannerFeatureType

Scanner Configuration 6

Enumerations that specify how a scanner acquires, formats, and transfers image data.

  • En
    ICScannerTransferModemacOS 10.7+
    @ICScannerTransferMode
  • En
    ICScannerMeasurementUnitmacOS 10.4+
    @ICScannerMeasurementUnit
  • En
    ICScannerBitDepthmacOS 10.4+
    @ICScannerBitDepth
  • En
    ICScannerColorDataFormatTypemacOS 10.4+
    @ICScannerColorDataFormatType
  • En
    ICScannerPixelDataTypemacOS 10.4+
    @ICScannerPixelDataType
  • En
    ICScannerDocumentTypemacOS 10.4+
    @ICScannerDocumentType

Device Classification 10

Constants that identify device types, transports, locations, status, and capabilities.

  • En
    ICDeviceTypemacOS 10.4+
    @const ICDeviceType
  • En
    ICDeviceTypeMaskmacOS 10.4+
    @const ICDeviceTypeMask
  • En
    ICDeviceLocationTypemacOS 10.4+
    @const ICDeviceLocationType
  • En
    ICDeviceLocationTypeMaskmacOS 10.4+
    @const ICDeviceLocationTypeMask
  • St
    ICDeviceTransportmacOS 10.4+
    Constants that identify the transport over which a device is connected.
  • St
    ICDeviceStatus
    A structure that describes the current status of a device.
  • St
    ICDeviceCapability
    Constants that describe the capabilities supported by a device.
  • St
    ICAuthorizationStatusmacOS 10.15+
    Constants that indicate the app's authorization to access image-capture devices.
  • En
    ICMediaPresentationmacOS 10.11+
    @ICMediaPresentation
  • En
    ICEXIFOrientationType
    Constants that specify the EXIF orientation of a captured image.

Results & Errors 11

Structures and codes that report the outcome of delete operations and other device errors.

  • St
    ICDeleteResultmacOS 10.15+
    A structure that reports the result of deleting items from a device.
  • St
    ICDeleteErrormacOS 10.15+
    An error type that describes a failure to delete items from a device.
  • St
    ICReturn
    Constants that represent the result codes returned by ImageCaptureCore operations.
  • St
    ICReturnObjectError
    An error type that describes a failure involving a device or item object.
  • St
    ICReturnConnectionError
    An error type that describes a failure to connect to a device.
  • St
    ICReturnDownloadError
    An error type that describes a failure to download a file.
  • St
    ICReturnThumbnailError
    An error type that describes a failure to retrieve a thumbnail.
  • St
    ICReturnMetadataError
    An error type that describes a failure to retrieve metadata.
  • St
    ICReturnPTPDeviceError
    An error type that describes a failure reported by a PTP camera device.
  • St
    ICLegacyReturn
    Legacy return codes retained for compatibility with earlier APIs.
  • En
    ICReturnCodeOffset
    Constants that define the base offsets for ImageCaptureCore return codes.
← Video, Photos & Camera