Documentation Archive Developer
Search

ImageCaptureCore Changes for Swift

ImageCaptureCore

Removed ICReturnCode.init(_: Int32)
Removed ICReturnCode.value
Removed ICDeviceLocationType
Removed ICDeviceLocationTypeBluetooth
Removed ICDeviceLocationTypeBonjour
Removed ICDeviceLocationTypeLocal
Removed ICDeviceLocationTypeMask
Removed ICDeviceLocationTypeMaskBluetooth
Removed ICDeviceLocationTypeMaskBonjour
Removed ICDeviceLocationTypeMaskLocal
Removed ICDeviceLocationTypeMaskRemote
Removed ICDeviceLocationTypeMaskShared
Removed ICDeviceLocationTypeShared
Removed ICDeviceType
Removed ICDeviceTypeCamera
Removed ICDeviceTypeMask
Removed ICDeviceTypeMaskCamera
Removed ICDeviceTypeMaskScanner
Removed ICDeviceTypeScanner
Removed ICEXIFOrientation1
Removed ICEXIFOrientation2
Removed ICEXIFOrientation3
Removed ICEXIFOrientation4
Removed ICEXIFOrientation5
Removed ICEXIFOrientation6
Removed ICEXIFOrientation7
Removed ICEXIFOrientation8
Removed ICEXIFOrientationType
Removed ICScannerBitDepth
Removed ICScannerBitDepth16Bits
Removed ICScannerBitDepth1Bit
Removed ICScannerBitDepth8Bits
Removed ICScannerColorDataFormatType
Removed ICScannerColorDataFormatTypeChunky
Removed ICScannerColorDataFormatTypePlanar
Removed ICScannerDocumentType
Removed ICScannerDocumentType10
Removed ICScannerDocumentType10R
Removed ICScannerDocumentType110
Removed ICScannerDocumentType11R
Removed ICScannerDocumentType12R
Removed ICScannerDocumentType135
Removed ICScannerDocumentType2A0
Removed ICScannerDocumentType3R
Removed ICScannerDocumentType4A0
Removed ICScannerDocumentType4R
Removed ICScannerDocumentType5R
Removed ICScannerDocumentType6R
Removed ICScannerDocumentType8R
Removed ICScannerDocumentTypeA0
Removed ICScannerDocumentTypeA1
Removed ICScannerDocumentTypeA2
Removed ICScannerDocumentTypeA3
Removed ICScannerDocumentTypeA4
Removed ICScannerDocumentTypeA5
Removed ICScannerDocumentTypeA6
Removed ICScannerDocumentTypeA7
Removed ICScannerDocumentTypeA8
Removed ICScannerDocumentTypeA9
Removed ICScannerDocumentTypeAPSC
Removed ICScannerDocumentTypeAPSH
Removed ICScannerDocumentTypeAPSP
Removed ICScannerDocumentTypeB5
Removed ICScannerDocumentTypeBusinessCard
Removed ICScannerDocumentTypeC0
Removed ICScannerDocumentTypeC1
Removed ICScannerDocumentTypeC10
Removed ICScannerDocumentTypeC2
Removed ICScannerDocumentTypeC3
Removed ICScannerDocumentTypeC4
Removed ICScannerDocumentTypeC5
Removed ICScannerDocumentTypeC6
Removed ICScannerDocumentTypeC7
Removed ICScannerDocumentTypeC8
Removed ICScannerDocumentTypeC9
Removed ICScannerDocumentTypeDefault
Removed ICScannerDocumentTypeE
Removed ICScannerDocumentTypeISOB0
Removed ICScannerDocumentTypeISOB1
Removed ICScannerDocumentTypeISOB10
Removed ICScannerDocumentTypeISOB2
Removed ICScannerDocumentTypeISOB3
Removed ICScannerDocumentTypeISOB4
Removed ICScannerDocumentTypeISOB5
Removed ICScannerDocumentTypeISOB6
Removed ICScannerDocumentTypeISOB7
Removed ICScannerDocumentTypeISOB8
Removed ICScannerDocumentTypeISOB9
Removed ICScannerDocumentTypeJISB0
Removed ICScannerDocumentTypeJISB1
Removed ICScannerDocumentTypeJISB10
Removed ICScannerDocumentTypeJISB2
Removed ICScannerDocumentTypeJISB3
Removed ICScannerDocumentTypeJISB4
Removed ICScannerDocumentTypeJISB6
Removed ICScannerDocumentTypeJISB7
Removed ICScannerDocumentTypeJISB8
Removed ICScannerDocumentTypeJISB9
Removed ICScannerDocumentTypeLF
Removed ICScannerDocumentTypeMF
Removed ICScannerDocumentTypeS10R
Removed ICScannerDocumentTypeS12R
Removed ICScannerDocumentTypeS8R
Removed ICScannerDocumentTypeUSExecutive
Removed ICScannerDocumentTypeUSLedger
Removed ICScannerDocumentTypeUSLegal
Removed ICScannerDocumentTypeUSLetter
Removed ICScannerDocumentTypeUSStatement
Removed ICScannerFeatureType
Removed ICScannerFeatureTypeBoolean
Removed ICScannerFeatureTypeEnumeration
Removed ICScannerFeatureTypeRange
Removed ICScannerFeatureTypeTemplate
Removed ICScannerFunctionalUnitState
Removed ICScannerFunctionalUnitStateOverviewScanInProgress
Removed ICScannerFunctionalUnitStateReady
Removed ICScannerFunctionalUnitStateScanInProgress
Removed ICScannerFunctionalUnitType
Removed ICScannerFunctionalUnitTypeDocumentFeeder
Removed ICScannerFunctionalUnitTypeFlatbed
Removed ICScannerFunctionalUnitTypeNegativeTransparency
Removed ICScannerFunctionalUnitTypePositiveTransparency
Removed ICScannerMeasurementUnit
Removed ICScannerMeasurementUnitCentimeters
Removed ICScannerMeasurementUnitInches
Removed ICScannerMeasurementUnitPicas
Removed ICScannerMeasurementUnitPixels
Removed ICScannerMeasurementUnitPoints
Removed ICScannerMeasurementUnitTwips
Removed ICScannerPixelDataType
Removed ICScannerPixelDataTypeBW
Removed ICScannerPixelDataTypeCIEXYZ
Removed ICScannerPixelDataTypeCMY
Removed ICScannerPixelDataTypeCMYK
Removed ICScannerPixelDataTypeGray
Removed ICScannerPixelDataTypePalette
Removed ICScannerPixelDataTypeRGB
Removed ICScannerPixelDataTypeYUV
Removed ICScannerPixelDataTypeYUVK
Removed ICScannerTransferMode
Removed ICScannerTransferModeFileBased
Removed ICScannerTransferModeMemoryBased
Added ICDeviceLocationType [enum]
Added ICDeviceLocationType.Bluetooth
Added ICDeviceLocationType.Bonjour
Added ICDeviceLocationType.Local
Added ICDeviceLocationType.Shared
Added ICDeviceLocationTypeMask [enum]
Added ICDeviceLocationTypeMask.Bluetooth
Added ICDeviceLocationTypeMask.Bonjour
Added ICDeviceLocationTypeMask.Local
Added ICDeviceLocationTypeMask.Remote
Added ICDeviceLocationTypeMask.Shared
Added ICDeviceType [enum]
Added ICDeviceType.Camera
Added ICDeviceType.Scanner
Added ICDeviceTypeMask [enum]
Added ICDeviceTypeMask.Camera
Added ICDeviceTypeMask.Scanner
Added ICEXIFOrientationType [enum]
Added ICEXIFOrientationType.Orientation1
Added ICEXIFOrientationType.Orientation2
Added ICEXIFOrientationType.Orientation3
Added ICEXIFOrientationType.Orientation4
Added ICEXIFOrientationType.Orientation5
Added ICEXIFOrientationType.Orientation6
Added ICEXIFOrientationType.Orientation7
Added ICEXIFOrientationType.Orientation8
Added ICReturnCode.DeviceNeedsCredentials
Added ICScannerBitDepth [enum]
Added ICScannerBitDepth.Depth16Bits
Added ICScannerBitDepth.Depth1Bit
Added ICScannerBitDepth.Depth8Bits
Added ICScannerColorDataFormatType [enum]
Added ICScannerColorDataFormatType.Chunky
Added ICScannerColorDataFormatType.Planar
Added ICScannerDocumentType [enum]
Added ICScannerDocumentType.Type10
Added ICScannerDocumentType.Type10R
Added ICScannerDocumentType.Type110
Added ICScannerDocumentType.Type11R
Added ICScannerDocumentType.Type12R
Added ICScannerDocumentType.Type135
Added ICScannerDocumentType.Type2A0
Added ICScannerDocumentType.Type3R
Added ICScannerDocumentType.Type4A0
Added ICScannerDocumentType.Type4R
Added ICScannerDocumentType.Type5R
Added ICScannerDocumentType.Type6R
Added ICScannerDocumentType.Type8R
Added ICScannerDocumentType.TypeA0
Added ICScannerDocumentType.TypeA1
Added ICScannerDocumentType.TypeA2
Added ICScannerDocumentType.TypeA3
Added ICScannerDocumentType.TypeA4
Added ICScannerDocumentType.TypeA5
Added ICScannerDocumentType.TypeA6
Added ICScannerDocumentType.TypeA7
Added ICScannerDocumentType.TypeA8
Added ICScannerDocumentType.TypeA9
Added ICScannerDocumentType.TypeAPSC
Added ICScannerDocumentType.TypeAPSH
Added ICScannerDocumentType.TypeAPSP
Added ICScannerDocumentType.TypeB5
Added ICScannerDocumentType.TypeBusinessCard
Added ICScannerDocumentType.TypeC0
Added ICScannerDocumentType.TypeC1
Added ICScannerDocumentType.TypeC10
Added ICScannerDocumentType.TypeC2
Added ICScannerDocumentType.TypeC3
Added ICScannerDocumentType.TypeC4
Added ICScannerDocumentType.TypeC5
Added ICScannerDocumentType.TypeC6
Added ICScannerDocumentType.TypeC7
Added ICScannerDocumentType.TypeC8
Added ICScannerDocumentType.TypeC9
Added ICScannerDocumentType.TypeDefault
Added ICScannerDocumentType.TypeE
Added ICScannerDocumentType.TypeISOB0
Added ICScannerDocumentType.TypeISOB1
Added ICScannerDocumentType.TypeISOB10
Added ICScannerDocumentType.TypeISOB2
Added ICScannerDocumentType.TypeISOB3
Added ICScannerDocumentType.TypeISOB4
Added ICScannerDocumentType.TypeISOB5
Added ICScannerDocumentType.TypeISOB6
Added ICScannerDocumentType.TypeISOB7
Added ICScannerDocumentType.TypeISOB8
Added ICScannerDocumentType.TypeISOB9
Added ICScannerDocumentType.TypeJISB0
Added ICScannerDocumentType.TypeJISB1
Added ICScannerDocumentType.TypeJISB10
Added ICScannerDocumentType.TypeJISB2
Added ICScannerDocumentType.TypeJISB3
Added ICScannerDocumentType.TypeJISB4
Added ICScannerDocumentType.TypeJISB6
Added ICScannerDocumentType.TypeJISB7
Added ICScannerDocumentType.TypeJISB8
Added ICScannerDocumentType.TypeJISB9
Added ICScannerDocumentType.TypeLF
Added ICScannerDocumentType.TypeMF
Added ICScannerDocumentType.TypeS10R
Added ICScannerDocumentType.TypeS12R
Added ICScannerDocumentType.TypeS8R
Added ICScannerDocumentType.TypeUSExecutive
Added ICScannerDocumentType.TypeUSLedger
Added ICScannerDocumentType.TypeUSLegal
Added ICScannerDocumentType.TypeUSLetter
Added ICScannerDocumentType.TypeUSStatement
Added ICScannerFeatureType [enum]
Added ICScannerFeatureType.Boolean
Added ICScannerFeatureType.Enumeration
Added ICScannerFeatureType.Range
Added ICScannerFeatureType.Template
Added ICScannerFunctionalUnitState [enum]
Added ICScannerFunctionalUnitState.OverviewScanInProgress
Added ICScannerFunctionalUnitState.Ready
Added ICScannerFunctionalUnitState.ScanInProgress
Added ICScannerFunctionalUnitType [enum]
Added ICScannerFunctionalUnitType.DocumentFeeder
Added ICScannerFunctionalUnitType.Flatbed
Added ICScannerFunctionalUnitType.NegativeTransparency
Added ICScannerFunctionalUnitType.PositiveTransparency
Added ICScannerMeasurementUnit [enum]
Added ICScannerMeasurementUnit.Centimeters
Added ICScannerMeasurementUnit.Inches
Added ICScannerMeasurementUnit.Picas
Added ICScannerMeasurementUnit.Pixels
Added ICScannerMeasurementUnit.Points
Added ICScannerMeasurementUnit.Twips
Added ICScannerPixelDataType [enum]
Added ICScannerPixelDataType.BW
Added ICScannerPixelDataType.CIEXYZ
Added ICScannerPixelDataType.CMY
Added ICScannerPixelDataType.CMYK
Added ICScannerPixelDataType.Gray
Added ICScannerPixelDataType.Palette
Added ICScannerPixelDataType.RGB
Added ICScannerPixelDataType.YUV
Added ICScannerPixelDataType.YUVK
Added ICScannerTransferMode [enum]
Added ICScannerTransferMode.FileBased
Added ICScannerTransferMode.MemoryBased
Added ICCameraDeviceSupportsFastPTP
Modified ICCameraDevice
Declaration
From
class ICCameraDevice : ICDevice {
    var batteryLevelAvailable: Bool { get }
    var batteryLevel: Int { get }
    var contentCatalogPercentCompleted: Int { get }
    var contents: [AnyObject]! { get }
    var mediaFiles: [AnyObject]! { get }
    var timeOffset: NSTimeInterval { get }
    var isAccessRestrictedAppleDevice: Bool { get }
    var mountPoint: String! { get }
    var tetheredCaptureEnabled: Bool
    func filesOfType(_ fileUTType: String!) -> [AnyObject]!
    func requestSyncClock()
    func requestEnableTethering()
    func requestDisableTethering()
    func requestTakePicture()
    func requestDeleteFiles(_ files: [AnyObject]!)
    func cancelDelete()
    func requestDownloadFile(_ file: ICCameraFile!, options options: [NSObject : AnyObject]!, downloadDelegate downloadDelegate: ICCameraDeviceDownloadDelegate!, didDownloadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func cancelDownload()
    func requestUploadFile(_ fileURL: NSURL!, options options: [NSObject : AnyObject]!, uploadDelegate uploadDelegate: AnyObject!, didUploadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestReadDataFromFile(_ file: ICCameraFile!, atOffset offset: off_t, length length: off_t, readDelegate readDelegate: AnyObject!, didReadDataSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestSendPTPCommand(_ command: NSData!, outData data: NSData!, sendCommandDelegate sendCommandDelegate: AnyObject!, didSendCommandSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
}
To
class ICCameraDevice : ICDevice {
    var batteryLevelAvailable: Bool { get }
    var batteryLevel: Int { get }
    var contentCatalogPercentCompleted: Int { get }
    var contents: [ICCameraItem]? { get }
    var mediaFiles: [ICCameraItem]? { get }
    var timeOffset: NSTimeInterval { get }
    var isAccessRestrictedAppleDevice: Bool { get }
    var mountPoint: String? { get }
    var tetheredCaptureEnabled: Bool
    func filesOfType(_ fileUTType: String) -> [String]
    func requestSyncClock()
    func requestEnableTethering()
    func requestDisableTethering()
    func requestTakePicture()
    func requestDeleteFiles(_ files: [ICCameraItem])
    func cancelDelete()
    func requestDownloadFile(_ file: ICCameraFile, options options: [String : AnyObject]?, downloadDelegate downloadDelegate: ICCameraDeviceDownloadDelegate, didDownloadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func cancelDownload()
    func requestUploadFile(_ fileURL: NSURL, options options: [String : AnyObject]?, uploadDelegate uploadDelegate: AnyObject, didUploadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestReadDataFromFile(_ file: ICCameraFile, atOffset offset: off_t, length length: off_t, readDelegate readDelegate: AnyObject, didReadDataSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestSendPTPCommand(_ command: NSData, outData data: NSData, sendCommandDelegate sendCommandDelegate: AnyObject, didSendCommandSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
}

Modified ICCameraDevice.contents
Declaration
From
var contents: [AnyObject]! { get }
To
var contents: [ICCameraItem]? { get }

Modified ICCameraDevice.filesOfType(_: String) -> [String]
Declaration
From
func filesOfType(_ fileUTType: String!) -> [AnyObject]!
To
func filesOfType(_ fileUTType: String) -> [String]

Modified ICCameraDevice.mediaFiles
Declaration
From
var mediaFiles: [AnyObject]! { get }
To
var mediaFiles: [ICCameraItem]? { get }

Modified ICCameraDevice.mountPoint
Declaration
From
var mountPoint: String! { get }
To
var mountPoint: String? { get }

Modified ICCameraDevice.requestDeleteFiles(_: [ICCameraItem])
Declaration
From
func requestDeleteFiles(_ files: [AnyObject]!)
To
func requestDeleteFiles(_ files: [ICCameraItem])

Modified ICCameraDevice.requestDownloadFile(_: ICCameraFile, options: [String : AnyObject]?, downloadDelegate: ICCameraDeviceDownloadDelegate, didDownloadSelector: Selector, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
func requestDownloadFile(_ file: ICCameraFile!, options options: [NSObject : AnyObject]!, downloadDelegate downloadDelegate: ICCameraDeviceDownloadDelegate!, didDownloadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
func requestDownloadFile(_ file: ICCameraFile, options options: [String : AnyObject]?, downloadDelegate downloadDelegate: ICCameraDeviceDownloadDelegate, didDownloadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICCameraDevice.requestReadDataFromFile(_: ICCameraFile, atOffset: off_t, length: off_t, readDelegate: AnyObject, didReadDataSelector: Selector, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
func requestReadDataFromFile(_ file: ICCameraFile!, atOffset offset: off_t, length length: off_t, readDelegate readDelegate: AnyObject!, didReadDataSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
func requestReadDataFromFile(_ file: ICCameraFile, atOffset offset: off_t, length length: off_t, readDelegate readDelegate: AnyObject, didReadDataSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICCameraDevice.requestSendPTPCommand(_: NSData, outData: NSData, sendCommandDelegate: AnyObject, didSendCommandSelector: Selector, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
func requestSendPTPCommand(_ command: NSData!, outData data: NSData!, sendCommandDelegate sendCommandDelegate: AnyObject!, didSendCommandSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
func requestSendPTPCommand(_ command: NSData, outData data: NSData, sendCommandDelegate sendCommandDelegate: AnyObject, didSendCommandSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICCameraDevice.requestUploadFile(_: NSURL, options: [String : AnyObject]?, uploadDelegate: AnyObject, didUploadSelector: Selector, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
func requestUploadFile(_ fileURL: NSURL!, options options: [NSObject : AnyObject]!, uploadDelegate uploadDelegate: AnyObject!, didUploadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
func requestUploadFile(_ fileURL: NSURL, options options: [String : AnyObject]?, uploadDelegate uploadDelegate: AnyObject, didUploadSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICCameraDeviceDelegate
Declaration
From
protocol ICCameraDeviceDelegate : ICDeviceDelegate, NSObjectProtocol {
    optional func cameraDevice(_ camera: ICCameraDevice!, didAddItem item: ICCameraItem!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didAddItems items: [AnyObject]!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didRemoveItem item: ICCameraItem!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didRemoveItems items: [AnyObject]!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didRenameItems items: [AnyObject]!)
    optional func cameraDevice(_ scanner: ICCameraDevice!, didCompleteDeleteFilesWithError error: NSError!)
    optional func cameraDeviceDidChangeCapability(_ camera: ICCameraDevice!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didReceiveThumbnailForItem item: ICCameraItem!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didReceiveMetadataForItem item: ICCameraItem!)
    optional func cameraDevice(_ camera: ICCameraDevice!, didReceivePTPEvent eventData: NSData!)
    optional func deviceDidBecomeReadyWithCompleteContentCatalog(_ device: ICDevice!)
    optional func cameraDevice(_ cameraDevice: ICCameraDevice!, shouldGetThumbnailOfItem item: ICCameraItem!) -> Bool
    optional func cameraDevice(_ cameraDevice: ICCameraDevice!, shouldGetMetadataOfItem item: ICCameraItem!) -> Bool
}
To
protocol ICCameraDeviceDelegate : ICDeviceDelegate, NSObjectProtocol {
    optional func cameraDevice(_ camera: ICCameraDevice, didAddItem item: ICCameraItem)
    optional func cameraDevice(_ camera: ICCameraDevice, didAddItems items: [ICCameraItem])
    optional func cameraDevice(_ camera: ICCameraDevice, didRemoveItem item: ICCameraItem)
    optional func cameraDevice(_ camera: ICCameraDevice, didRemoveItems items: [ICCameraItem])
    optional func cameraDevice(_ camera: ICCameraDevice, didRenameItems items: [ICCameraItem])
    optional func cameraDevice(_ scanner: ICCameraDevice, didCompleteDeleteFilesWithError error: NSError?)
    optional func cameraDeviceDidChangeCapability(_ camera: ICCameraDevice)
    optional func cameraDevice(_ camera: ICCameraDevice, didReceiveThumbnailForItem item: ICCameraItem)
    optional func cameraDevice(_ camera: ICCameraDevice, didReceiveMetadataForItem item: ICCameraItem)
    optional func cameraDevice(_ camera: ICCameraDevice, didReceivePTPEvent eventData: NSData)
    optional func deviceDidBecomeReadyWithCompleteContentCatalog(_ device: ICDevice)
    optional func cameraDevice(_ cameraDevice: ICCameraDevice, shouldGetThumbnailOfItem item: ICCameraItem) -> Bool
    optional func cameraDevice(_ cameraDevice: ICCameraDevice, shouldGetMetadataOfItem item: ICCameraItem) -> Bool
}

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didAddItem: ICCameraItem)
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didAddItem item: ICCameraItem!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didAddItem item: ICCameraItem)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didAddItems: [ICCameraItem])
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didAddItems items: [AnyObject]!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didAddItems items: [ICCameraItem])

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didCompleteDeleteFilesWithError: NSError?)
Declaration
From
optional func cameraDevice(_ scanner: ICCameraDevice!, didCompleteDeleteFilesWithError error: NSError!)
To
optional func cameraDevice(_ scanner: ICCameraDevice, didCompleteDeleteFilesWithError error: NSError?)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didReceiveMetadataForItem: ICCameraItem)
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didReceiveMetadataForItem item: ICCameraItem!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didReceiveMetadataForItem item: ICCameraItem)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didReceivePTPEvent: NSData)
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didReceivePTPEvent eventData: NSData!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didReceivePTPEvent eventData: NSData)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didReceiveThumbnailForItem: ICCameraItem)
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didReceiveThumbnailForItem item: ICCameraItem!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didReceiveThumbnailForItem item: ICCameraItem)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didRemoveItem: ICCameraItem)
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didRemoveItem item: ICCameraItem!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didRemoveItem item: ICCameraItem)

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didRemoveItems: [ICCameraItem])
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didRemoveItems items: [AnyObject]!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didRemoveItems items: [ICCameraItem])

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, didRenameItems: [ICCameraItem])
Declaration
From
optional func cameraDevice(_ camera: ICCameraDevice!, didRenameItems items: [AnyObject]!)
To
optional func cameraDevice(_ camera: ICCameraDevice, didRenameItems items: [ICCameraItem])

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, shouldGetMetadataOfItem: ICCameraItem) -> Bool
Declaration
From
optional func cameraDevice(_ cameraDevice: ICCameraDevice!, shouldGetMetadataOfItem item: ICCameraItem!) -> Bool
To
optional func cameraDevice(_ cameraDevice: ICCameraDevice, shouldGetMetadataOfItem item: ICCameraItem) -> Bool

Modified ICCameraDeviceDelegate.cameraDevice(_: ICCameraDevice, shouldGetThumbnailOfItem: ICCameraItem) -> Bool
Declaration
From
optional func cameraDevice(_ cameraDevice: ICCameraDevice!, shouldGetThumbnailOfItem item: ICCameraItem!) -> Bool
To
optional func cameraDevice(_ cameraDevice: ICCameraDevice, shouldGetThumbnailOfItem item: ICCameraItem) -> Bool

Modified ICCameraDeviceDelegate.cameraDeviceDidChangeCapability(_: ICCameraDevice)
Declaration
From
optional func cameraDeviceDidChangeCapability(_ camera: ICCameraDevice!)
To
optional func cameraDeviceDidChangeCapability(_ camera: ICCameraDevice)

Modified ICCameraDeviceDelegate.deviceDidBecomeReadyWithCompleteContentCatalog(_: ICDevice)
Declaration
From
optional func deviceDidBecomeReadyWithCompleteContentCatalog(_ device: ICDevice!)
To
optional func deviceDidBecomeReadyWithCompleteContentCatalog(_ device: ICDevice)

Modified ICCameraDeviceDownloadDelegate
Declaration
From
protocol ICCameraDeviceDownloadDelegate : NSObjectProtocol {
    optional func didDownloadFile(_ file: ICCameraFile!, error error: NSError!, options options: [NSObject : AnyObject]!, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    optional func didReceiveDownloadProgressForFile(_ file: ICCameraFile!, downloadedBytes downloadedBytes: off_t, maxBytes maxBytes: off_t)
}
To
protocol ICCameraDeviceDownloadDelegate : NSObjectProtocol {
    optional func didDownloadFile(_ file: ICCameraFile, error error: NSError?, options options: [String : AnyObject]?, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    optional func didReceiveDownloadProgressForFile(_ file: ICCameraFile, downloadedBytes downloadedBytes: off_t, maxBytes maxBytes: off_t)
}

Modified ICCameraDeviceDownloadDelegate.didDownloadFile(_: ICCameraFile, error: NSError?, options: [String : AnyObject]?, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
optional func didDownloadFile(_ file: ICCameraFile!, error error: NSError!, options options: [NSObject : AnyObject]!, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
optional func didDownloadFile(_ file: ICCameraFile, error error: NSError?, options options: [String : AnyObject]?, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICCameraDeviceDownloadDelegate.didReceiveDownloadProgressForFile(_: ICCameraFile, downloadedBytes: off_t, maxBytes: off_t)
Declaration
From
optional func didReceiveDownloadProgressForFile(_ file: ICCameraFile!, downloadedBytes downloadedBytes: off_t, maxBytes maxBytes: off_t)
To
optional func didReceiveDownloadProgressForFile(_ file: ICCameraFile, downloadedBytes downloadedBytes: off_t, maxBytes maxBytes: off_t)

Modified ICCameraFile
Declaration
From
class ICCameraFile : ICCameraItem {
    var fileSize: off_t { get }
    var orientation: ICEXIFOrientationType
    var duration: Double { get }
    var sidecarFiles: [AnyObject]! { get }
}
To
class ICCameraFile : ICCameraItem {
    var fileSize: off_t { get }
    var orientation: ICEXIFOrientationType
    var duration: Double { get }
    var sidecarFiles: [ICCameraItem] { get }
}

Modified ICCameraFile.sidecarFiles
Declaration
From
var sidecarFiles: [AnyObject]! { get }
To
var sidecarFiles: [ICCameraItem] { get }

Modified ICCameraFolder
Declaration
From
class ICCameraFolder : ICCameraItem {
    var contents: [AnyObject]! { get }
}
To
class ICCameraFolder : ICCameraItem {
    var contents: [ICCameraItem] { get }
}

Modified ICCameraFolder.contents
Declaration
From
var contents: [AnyObject]! { get }
To
var contents: [ICCameraItem] { get }

Modified ICCameraItem
Declaration
From
class ICCameraItem : NSObject {
    var device: ICCameraDevice! { get }
    var parentFolder: ICCameraFolder! { get }
    var name: String! { get }
    var UTI: String! { get }
    var fileSystemPath: String! { get }
    var locked: Bool { get }
    var raw: Bool { get }
    var inTemporaryStore: Bool { get }
    var creationDate: NSDate! { get }
    var modificationDate: NSDate! { get }
    var thumbnailIfAvailable: CGImage! { get }
    var largeThumbnailIfAvailable: CGImage! { get }
    var metadataIfAvailable: [NSObject : AnyObject]! { get }
    var userData: NSMutableDictionary! { get }
    var ptpObjectHandle: UInt32 { get }
    var addedAfterContentCatalogCompleted: Bool { get }
}
To
class ICCameraItem : NSObject {
    var device: ICCameraDevice { get }
    var parentFolder: ICCameraFolder { get }
    var name: String { get }
    var UTI: String { get }
    var fileSystemPath: String { get }
    var locked: Bool { get }
    var raw: Bool { get }
    var inTemporaryStore: Bool { get }
    var creationDate: NSDate { get }
    var modificationDate: NSDate { get }
    var thumbnailIfAvailable: CGImage? { get }
    var largeThumbnailIfAvailable: CGImage? { get }
    var metadataIfAvailable: [String : AnyObject]? { get }
    var userData: NSMutableDictionary? { get }
    var ptpObjectHandle: UInt32 { get }
    var addedAfterContentCatalogCompleted: Bool { get }
}

Modified ICCameraItem.creationDate
Declaration
From
var creationDate: NSDate! { get }
To
var creationDate: NSDate { get }

Modified ICCameraItem.device
Declaration
From
var device: ICCameraDevice! { get }
To
var device: ICCameraDevice { get }

Modified ICCameraItem.fileSystemPath
Declaration
From
var fileSystemPath: String! { get }
To
var fileSystemPath: String { get }

Modified ICCameraItem.largeThumbnailIfAvailable
Declaration
From
var largeThumbnailIfAvailable: CGImage! { get }
To
var largeThumbnailIfAvailable: CGImage? { get }

Modified ICCameraItem.metadataIfAvailable
Declaration
From
var metadataIfAvailable: [NSObject : AnyObject]! { get }
To
var metadataIfAvailable: [String : AnyObject]? { get }

Modified ICCameraItem.modificationDate
Declaration
From
var modificationDate: NSDate! { get }
To
var modificationDate: NSDate { get }

Modified ICCameraItem.name
Declaration
From
var name: String! { get }
To
var name: String { get }

Modified ICCameraItem.parentFolder
Declaration
From
var parentFolder: ICCameraFolder! { get }
To
var parentFolder: ICCameraFolder { get }

Modified ICCameraItem.thumbnailIfAvailable
Declaration
From
var thumbnailIfAvailable: CGImage! { get }
To
var thumbnailIfAvailable: CGImage? { get }

Modified ICCameraItem.userData
Declaration
From
var userData: NSMutableDictionary! { get }
To
var userData: NSMutableDictionary? { get }

Modified ICCameraItem.UTI
Declaration
From
var UTI: String! { get }
To
var UTI: String { get }

Modified ICDevice
Declaration
From
class ICDevice : NSObject {
    unowned(unsafe) var delegate: ICDeviceDelegate!
    var type: ICDeviceType { get }
    var name: String! { get }
    var icon: CGImage! { get }
    var capabilities: [AnyObject]! { get }
    var modulePath: String! { get }
    var moduleVersion: String! { get }
    var moduleExecutableArchitecture: Int32 { get }
    var remote: Bool { get }
    var shared: Bool { get }
    var hasConfigurableWiFiInterface: Bool { get }
    var transportType: String! { get }
    var usbLocationID: Int32 { get }
    var usbProductID: Int32 { get }
    var usbVendorID: Int32 { get }
    var fwGUID: Int64 { get }
    var serialNumberString: String! { get }
    var locationDescription: String! { get }
    var hasOpenSession: Bool { get }
    var UUIDString: String! { get }
    var persistentIDString: String! { get }
    var buttonPressed: String! { get }
    var autolaunchApplicationPath: String!
    var userData: NSMutableDictionary! { get }
    func requestOpenSession()
    func requestCloseSession()
    func requestYield()
    func requestSendMessage(_ messageCode: UInt32, outData data: NSData!, maxReturnedDataSize maxReturnedDataSize: UInt32, sendMessageDelegate sendMessageDelegate: AnyObject!, didSendMessageSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestEjectOrDisconnect()
}
To
class ICDevice : NSObject {
    unowned(unsafe) var delegate: ICDeviceDelegate?
    var type: ICDeviceType { get }
    var name: String? { get }
    var icon: CGImage? { get }
    var capabilities: [String] { get }
    var modulePath: String { get }
    var moduleVersion: String { get }
    var moduleExecutableArchitecture: Int32 { get }
    var remote: Bool { get }
    var shared: Bool { get }
    var hasConfigurableWiFiInterface: Bool { get }
    var transportType: String { get }
    var usbLocationID: Int32 { get }
    var usbProductID: Int32 { get }
    var usbVendorID: Int32 { get }
    var fwGUID: Int64 { get }
    var serialNumberString: String? { get }
    var locationDescription: String? { get }
    var hasOpenSession: Bool { get }
    var UUIDString: String? { get }
    var persistentIDString: String? { get }
    var buttonPressed: String { get }
    var autolaunchApplicationPath: String?
    var userData: NSMutableDictionary? { get }
    func requestOpenSession()
    func requestCloseSession()
    func requestYield()
    func requestSendMessage(_ messageCode: UInt32, outData data: NSData, maxReturnedDataSize maxReturnedDataSize: UInt32, sendMessageDelegate sendMessageDelegate: AnyObject, didSendMessageSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
    func requestEjectOrDisconnect()
}

Modified ICDevice.autolaunchApplicationPath
Declaration
From
var autolaunchApplicationPath: String!
To
var autolaunchApplicationPath: String?

Modified ICDevice.buttonPressed
Declaration
From
var buttonPressed: String! { get }
To
var buttonPressed: String { get }

Modified ICDevice.capabilities
Declaration
From
var capabilities: [AnyObject]! { get }
To
var capabilities: [String] { get }

Modified ICDevice.delegate
Declaration
From
unowned(unsafe) var delegate: ICDeviceDelegate!
To
unowned(unsafe) var delegate: ICDeviceDelegate?

Modified ICDevice.icon
Declaration
From
var icon: CGImage! { get }
To
var icon: CGImage? { get }

Modified ICDevice.locationDescription
Declaration
From
var locationDescription: String! { get }
To
var locationDescription: String? { get }

Modified ICDevice.modulePath
Declaration
From
var modulePath: String! { get }
To
var modulePath: String { get }

Modified ICDevice.moduleVersion
Declaration
From
var moduleVersion: String! { get }
To
var moduleVersion: String { get }

Modified ICDevice.name
Declaration
From
var name: String! { get }
To
var name: String? { get }

Modified ICDevice.persistentIDString
Declaration
From
var persistentIDString: String! { get }
To
var persistentIDString: String? { get }

Modified ICDevice.requestSendMessage(_: UInt32, outData: NSData, maxReturnedDataSize: UInt32, sendMessageDelegate: AnyObject, didSendMessageSelector: Selector, contextInfo: UnsafeMutablePointer<Void>)
Declaration
From
func requestSendMessage(_ messageCode: UInt32, outData data: NSData!, maxReturnedDataSize maxReturnedDataSize: UInt32, sendMessageDelegate sendMessageDelegate: AnyObject!, didSendMessageSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)
To
func requestSendMessage(_ messageCode: UInt32, outData data: NSData, maxReturnedDataSize maxReturnedDataSize: UInt32, sendMessageDelegate sendMessageDelegate: AnyObject, didSendMessageSelector selector: Selector, contextInfo contextInfo: UnsafeMutablePointer<Void>)

Modified ICDevice.serialNumberString
Declaration
From
var serialNumberString: String! { get }
To
var serialNumberString: String? { get }

Modified ICDevice.transportType
Declaration
From
var transportType: String! { get }
To
var transportType: String { get }

Modified ICDevice.userData
Declaration
From
var userData: NSMutableDictionary! { get }
To
var userData: NSMutableDictionary? { get }

Modified ICDevice.UUIDString
Declaration
From
var UUIDString: String! { get }
To
var UUIDString: String? { get }

Modified ICDeviceBrowser
Declaration
From
class ICDeviceBrowser : NSObject {
    unowned(unsafe) var delegate: ICDeviceBrowserDelegate!
    var browsing: Bool { get }
    var browsedDeviceTypeMask: ICDeviceTypeMask
    var devices: [AnyObject]! { get }
    func preferredDevice() -> ICDevice!
    init!()
    func start()
    func stop()
}
To
class ICDeviceBrowser : NSObject {
    unowned(unsafe) var delegate: ICDeviceBrowserDelegate?
    var browsing: Bool { get }
    var browsedDeviceTypeMask: ICDeviceTypeMask
    var devices: [ICDevice]? { get }
    func preferredDevice() -> ICDevice
    init()
    func start()
    func stop()
}

Modified ICDeviceBrowser.delegate
Declaration
From
unowned(unsafe) var delegate: ICDeviceBrowserDelegate!
To
unowned(unsafe) var delegate: ICDeviceBrowserDelegate?

Modified ICDeviceBrowser.devices
Declaration
From
var devices: [AnyObject]! { get }
To
var devices: [ICDevice]? { get }

Modified ICDeviceBrowser.init()
Declaration
From
init!()
To
init()

Modified ICDeviceBrowser.preferredDevice() -> ICDevice
Declaration
From
func preferredDevice() -> ICDevice!
To
func preferredDevice() -> ICDevice

Modified ICDeviceBrowserDelegate
Declaration
From
protocol ICDeviceBrowserDelegate : NSObjectProtocol {
    func deviceBrowser(_ browser: ICDeviceBrowser!, didAddDevice device: ICDevice!, moreComing moreComing: Bool)
    func deviceBrowser(_ browser: ICDeviceBrowser!, didRemoveDevice device: ICDevice!, moreGoing moreGoing: Bool)
    optional func deviceBrowser(_ browser: ICDeviceBrowser!, deviceDidChangeName device: ICDevice!)
    optional func deviceBrowser(_ browser: ICDeviceBrowser!, deviceDidChangeSharingState device: ICDevice!)
    optional func deviceBrowser(_ browser: ICDeviceBrowser!, requestsSelectDevice device: ICDevice!)
    optional func deviceBrowserDidEnumerateLocalDevices(_ browser: ICDeviceBrowser!)
}
To
protocol ICDeviceBrowserDelegate : NSObjectProtocol {
    func deviceBrowser(_ browser: ICDeviceBrowser, didAddDevice device: ICDevice, moreComing moreComing: Bool)
    func deviceBrowser(_ browser: ICDeviceBrowser, didRemoveDevice device: ICDevice, moreGoing moreGoing: Bool)
    optional func deviceBrowser(_ browser: ICDeviceBrowser, deviceDidChangeName device: ICDevice)
    optional func deviceBrowser(_ browser: ICDeviceBrowser, deviceDidChangeSharingState device: ICDevice)
    optional func deviceBrowser(_ browser: ICDeviceBrowser, requestsSelectDevice device: ICDevice)
    optional func deviceBrowserDidEnumerateLocalDevices(_ browser: ICDeviceBrowser)
}

Modified ICDeviceBrowserDelegate.deviceBrowser(_: ICDeviceBrowser, deviceDidChangeName: ICDevice)
Declaration
From
optional func deviceBrowser(_ browser: ICDeviceBrowser!, deviceDidChangeName device: ICDevice!)
To
optional func deviceBrowser(_ browser: ICDeviceBrowser, deviceDidChangeName device: ICDevice)

Modified ICDeviceBrowserDelegate.deviceBrowser(_: ICDeviceBrowser, deviceDidChangeSharingState: ICDevice)
Declaration
From
optional func deviceBrowser(_ browser: ICDeviceBrowser!, deviceDidChangeSharingState device: ICDevice!)
To
optional func deviceBrowser(_ browser: ICDeviceBrowser, deviceDidChangeSharingState device: ICDevice)

Modified ICDeviceBrowserDelegate.deviceBrowser(_: ICDeviceBrowser, didAddDevice: ICDevice, moreComing: Bool)
Declaration
From
func deviceBrowser(_ browser: ICDeviceBrowser!, didAddDevice device: ICDevice!, moreComing moreComing: Bool)
To
func deviceBrowser(_ browser: ICDeviceBrowser, didAddDevice device: ICDevice, moreComing moreComing: Bool)

Modified ICDeviceBrowserDelegate.deviceBrowser(_: ICDeviceBrowser, didRemoveDevice: ICDevice, moreGoing: Bool)
Declaration
From
func deviceBrowser(_ browser: ICDeviceBrowser!, didRemoveDevice device: ICDevice!, moreGoing moreGoing: Bool)
To
func deviceBrowser(_ browser: ICDeviceBrowser, didRemoveDevice device: ICDevice, moreGoing moreGoing: Bool)

Modified ICDeviceBrowserDelegate.deviceBrowser(_: ICDeviceBrowser, requestsSelectDevice: ICDevice)
Declaration
From
optional func deviceBrowser(_ browser: ICDeviceBrowser!, requestsSelectDevice device: ICDevice!)
To
optional func deviceBrowser(_ browser: ICDeviceBrowser, requestsSelectDevice device: ICDevice)

Modified ICDeviceBrowserDelegate.deviceBrowserDidEnumerateLocalDevices(_: ICDeviceBrowser)
Declaration
From
optional func deviceBrowserDidEnumerateLocalDevices(_ browser: ICDeviceBrowser!)
To
optional func deviceBrowserDidEnumerateLocalDevices(_ browser: ICDeviceBrowser)

Modified ICDeviceDelegate
Declaration
From
protocol ICDeviceDelegate : NSObjectProtocol {
    func didRemoveDevice(_ device: ICDevice!)
    optional func device(_ device: ICDevice!, didOpenSessionWithError error: NSError!)
    optional func deviceDidBecomeReady(_ device: ICDevice!)
    optional func device(_ device: ICDevice!, didCloseSessionWithError error: NSError!)
    optional func deviceDidChangeName(_ device: ICDevice!)
    optional func deviceDidChangeSharingState(_ device: ICDevice!)
    optional func device(_ device: ICDevice!, didReceiveStatusInformation status: [NSObject : AnyObject]!)
    optional func device(_ device: ICDevice!, didEncounterError error: NSError!)
    optional func device(_ device: ICDevice!, didReceiveButtonPress buttonType: String!)
    optional func device(_ device: ICDevice!, didReceiveCustomNotification notification: [NSObject : AnyObject]!, data data: NSData!)
}
To
protocol ICDeviceDelegate : NSObjectProtocol {
    func didRemoveDevice(_ device: ICDevice)
    optional func device(_ device: ICDevice, didOpenSessionWithError error: NSError?)
    optional func deviceDidBecomeReady(_ device: ICDevice)
    optional func device(_ device: ICDevice, didCloseSessionWithError error: NSError?)
    optional func deviceDidChangeName(_ device: ICDevice)
    optional func deviceDidChangeSharingState(_ device: ICDevice)
    optional func device(_ device: ICDevice, didReceiveStatusInformation status: [String : AnyObject])
    optional func device(_ device: ICDevice, didEncounterError error: NSError?)
    optional func device(_ device: ICDevice, didReceiveButtonPress buttonType: String)
    optional func device(_ device: ICDevice, didReceiveCustomNotification notification: [String : AnyObject], data data: NSData)
}

Modified ICDeviceDelegate.device(_: ICDevice, didCloseSessionWithError: NSError?)
Declaration
From
optional func device(_ device: ICDevice!, didCloseSessionWithError error: NSError!)
To
optional func device(_ device: ICDevice, didCloseSessionWithError error: NSError?)

Modified ICDeviceDelegate.device(_: ICDevice, didEncounterError: NSError?)
Declaration
From
optional func device(_ device: ICDevice!, didEncounterError error: NSError!)
To
optional func device(_ device: ICDevice, didEncounterError error: NSError?)

Modified ICDeviceDelegate.device(_: ICDevice, didOpenSessionWithError: NSError?)
Declaration
From
optional func device(_ device: ICDevice!, didOpenSessionWithError error: NSError!)
To
optional func device(_ device: ICDevice, didOpenSessionWithError error: NSError?)

Modified ICDeviceDelegate.device(_: ICDevice, didReceiveButtonPress: String)
Declaration
From
optional func device(_ device: ICDevice!, didReceiveButtonPress buttonType: String!)
To
optional func device(_ device: ICDevice, didReceiveButtonPress buttonType: String)

Modified ICDeviceDelegate.device(_: ICDevice, didReceiveCustomNotification: [String : AnyObject], data: NSData)
Declaration
From
optional func device(_ device: ICDevice!, didReceiveCustomNotification notification: [NSObject : AnyObject]!, data data: NSData!)
To
optional func device(_ device: ICDevice, didReceiveCustomNotification notification: [String : AnyObject], data data: NSData)

Modified ICDeviceDelegate.device(_: ICDevice, didReceiveStatusInformation: [String : AnyObject])
Declaration
From
optional func device(_ device: ICDevice!, didReceiveStatusInformation status: [NSObject : AnyObject]!)
To
optional func device(_ device: ICDevice, didReceiveStatusInformation status: [String : AnyObject])

Modified ICDeviceDelegate.deviceDidBecomeReady(_: ICDevice)
Declaration
From
optional func deviceDidBecomeReady(_ device: ICDevice!)
To
optional func deviceDidBecomeReady(_ device: ICDevice)

Modified ICDeviceDelegate.deviceDidChangeName(_: ICDevice)
Declaration
From
optional func deviceDidChangeName(_ device: ICDevice!)
To
optional func deviceDidChangeName(_ device: ICDevice)

Modified ICDeviceDelegate.deviceDidChangeSharingState(_: ICDevice)
Declaration
From
optional func deviceDidChangeSharingState(_ device: ICDevice!)
To
optional func deviceDidChangeSharingState(_ device: ICDevice)

Modified ICDeviceDelegate.didRemoveDevice(_: ICDevice)
Declaration
From
func didRemoveDevice(_ device: ICDevice!)
To
func didRemoveDevice(_ device: ICDevice)

Modified ICReturnCode [enum]
DeclarationProtocolsIntroductionRaw Value Type
From
struct ICReturnCode {
    init(_ value: Int32)
    var value: Int32
}
--OS X 10.10--
To
enum ICReturnCode : Int {
    case Success
    case InvalidParam
    case CommunicationTimedOut
    case ScanOperationCanceled
    case ScannerInUseByLocalUser
    case ScannerInUseByRemoteUser
    case DeviceFailedToOpenSession
    case DeviceFailedToCloseSession
    case ScannerFailedToSelectFunctionalUnit
    case ScannerFailedToCompleteOverviewScan
    case ScannerFailedToCompleteScan
    case ReceivedUnsolicitedScannerStatusInfo
    case ReceivedUnsolicitedScannerErrorInfo
    case DownloadFailed
    case UploadFailed
    case FailedToCompletePassThroughCommand
    case DownloadCanceled
    case FailedToEnabeTethering
    case FailedToDisabeTethering
    case FailedToCompleteSendMessageRequest
    case DeleteFilesFailed
    case DeleteFilesCanceled
    case DeviceIsPasscodeLocked
    case DeviceFailedToTakePicture
    case DeviceSoftwareNotInstalled
    case DeviceSoftwareIsBeingInstalled
    case DeviceSoftwareInstallationCompleted
    case DeviceSoftwareInstallationCanceled
    case DeviceSoftwareInstallationFailed
    case DeviceSoftwareNotAvailable
    case DeviceCouldNotPair
    case DeviceCouldNotUnpair
    case DeviceNeedsCredentials
}
Equatable, Hashable, RawRepresentableOS X 10.11Int

Modified ICReturnCode.CommunicationTimedOut
NameDeclarationIntroduction
FromICReturnCommunicationTimedOut
var ICReturnCommunicationTimedOut: ICReturnCode { get }
OS X 10.10
ToCommunicationTimedOut
case CommunicationTimedOut
OS X 10.11

Modified ICReturnCode.DeleteFilesCanceled
NameDeclarationIntroduction
FromICReturnDeleteFilesCanceled
var ICReturnDeleteFilesCanceled: ICReturnCode { get }
OS X 10.10
ToDeleteFilesCanceled
case DeleteFilesCanceled
OS X 10.11

Modified ICReturnCode.DeleteFilesFailed
NameDeclarationIntroduction
FromICReturnDeleteFilesFailed
var ICReturnDeleteFilesFailed: ICReturnCode { get }
OS X 10.10
ToDeleteFilesFailed
case DeleteFilesFailed
OS X 10.11

Modified ICReturnCode.DeviceCouldNotPair
NameDeclarationIntroduction
FromICReturnDeviceCouldNotPair
var ICReturnDeviceCouldNotPair: ICReturnCode { get }
OS X 10.10.3
ToDeviceCouldNotPair
case DeviceCouldNotPair
OS X 10.11

Modified ICReturnCode.DeviceCouldNotUnpair
NameDeclarationIntroduction
FromICReturnDeviceCouldNotUnpair
var ICReturnDeviceCouldNotUnpair: ICReturnCode { get }
OS X 10.10.3
ToDeviceCouldNotUnpair
case DeviceCouldNotUnpair
OS X 10.11

Modified ICReturnCode.DeviceFailedToCloseSession
NameDeclarationIntroduction
FromICReturnDeviceFailedToCloseSession
var ICReturnDeviceFailedToCloseSession: ICReturnCode { get }
OS X 10.10
ToDeviceFailedToCloseSession
case DeviceFailedToCloseSession
OS X 10.11

Modified ICReturnCode.DeviceFailedToOpenSession
NameDeclarationIntroduction
FromICReturnDeviceFailedToOpenSession
var ICReturnDeviceFailedToOpenSession: ICReturnCode { get }
OS X 10.10
ToDeviceFailedToOpenSession
case DeviceFailedToOpenSession
OS X 10.11

Modified ICReturnCode.DeviceFailedToTakePicture
NameDeclarationIntroduction
FromICReturnDeviceFailedToTakePicture
var ICReturnDeviceFailedToTakePicture: ICReturnCode { get }
OS X 10.10
ToDeviceFailedToTakePicture
case DeviceFailedToTakePicture
OS X 10.11

Modified ICReturnCode.DeviceIsPasscodeLocked
NameDeclarationIntroduction
FromICReturnDeviceIsPasscodeLocked
var ICReturnDeviceIsPasscodeLocked: ICReturnCode { get }
OS X 10.10
ToDeviceIsPasscodeLocked
case DeviceIsPasscodeLocked
OS X 10.11

Modified ICReturnCode.DeviceSoftwareInstallationCanceled
NameDeclarationIntroduction
FromICReturnDeviceSoftwareInstallationCanceled
var ICReturnDeviceSoftwareInstallationCanceled: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareInstallationCanceled
case DeviceSoftwareInstallationCanceled
OS X 10.11

Modified ICReturnCode.DeviceSoftwareInstallationCompleted
NameDeclarationIntroduction
FromICReturnDeviceSoftwareInstallationCompleted
var ICReturnDeviceSoftwareInstallationCompleted: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareInstallationCompleted
case DeviceSoftwareInstallationCompleted
OS X 10.11

Modified ICReturnCode.DeviceSoftwareInstallationFailed
NameDeclarationIntroduction
FromICReturnDeviceSoftwareInstallationFailed
var ICReturnDeviceSoftwareInstallationFailed: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareInstallationFailed
case DeviceSoftwareInstallationFailed
OS X 10.11

Modified ICReturnCode.DeviceSoftwareIsBeingInstalled
NameDeclarationIntroduction
FromICReturnDeviceSoftwareIsBeingInstalled
var ICReturnDeviceSoftwareIsBeingInstalled: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareIsBeingInstalled
case DeviceSoftwareIsBeingInstalled
OS X 10.11

Modified ICReturnCode.DeviceSoftwareNotAvailable
NameDeclarationIntroduction
FromICReturnDeviceSoftwareNotAvailable
var ICReturnDeviceSoftwareNotAvailable: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareNotAvailable
case DeviceSoftwareNotAvailable
OS X 10.11

Modified ICReturnCode.DeviceSoftwareNotInstalled
NameDeclarationIntroduction
FromICReturnDeviceSoftwareNotInstalled
var ICReturnDeviceSoftwareNotInstalled: ICReturnCode { get }
OS X 10.10
ToDeviceSoftwareNotInstalled
case DeviceSoftwareNotInstalled
OS X 10.11

Modified ICReturnCode.DownloadCanceled
NameDeclarationIntroduction
FromICReturnDownloadCanceled
var ICReturnDownloadCanceled: ICReturnCode { get }
OS X 10.10
ToDownloadCanceled
case DownloadCanceled
OS X 10.11

Modified ICReturnCode.DownloadFailed
NameDeclarationIntroduction
FromICReturnDownloadFailed
var ICReturnDownloadFailed: ICReturnCode { get }
OS X 10.10
ToDownloadFailed
case DownloadFailed
OS X 10.11

Modified ICReturnCode.FailedToCompletePassThroughCommand
NameDeclarationIntroduction
FromICReturnFailedToCompletePassThroughCommand
var ICReturnFailedToCompletePassThroughCommand: ICReturnCode { get }
OS X 10.10
ToFailedToCompletePassThroughCommand
case FailedToCompletePassThroughCommand
OS X 10.11

Modified ICReturnCode.FailedToCompleteSendMessageRequest
NameDeclarationIntroduction
FromICReturnFailedToCompleteSendMessageRequest
var ICReturnFailedToCompleteSendMessageRequest: ICReturnCode { get }
OS X 10.10
ToFailedToCompleteSendMessageRequest
case FailedToCompleteSendMessageRequest
OS X 10.11

Modified ICReturnCode.FailedToDisabeTethering
NameDeclarationIntroduction
FromICReturnFailedToDisabeTethering
var ICReturnFailedToDisabeTethering: ICReturnCode { get }
OS X 10.10
ToFailedToDisabeTethering
case FailedToDisabeTethering
OS X 10.11

Modified ICReturnCode.FailedToEnabeTethering
NameDeclarationIntroduction
FromICReturnFailedToEnabeTethering
var ICReturnFailedToEnabeTethering: ICReturnCode { get }
OS X 10.10
ToFailedToEnabeTethering
case FailedToEnabeTethering
OS X 10.11

Modified ICReturnCode.InvalidParam
NameDeclarationIntroduction
FromICReturnInvalidParam
var ICReturnInvalidParam: ICReturnCode { get }
OS X 10.10
ToInvalidParam
case InvalidParam
OS X 10.11

Modified ICReturnCode.ReceivedUnsolicitedScannerErrorInfo
NameDeclarationIntroduction
FromICReturnReceivedUnsolicitedScannerErrorInfo
var ICReturnReceivedUnsolicitedScannerErrorInfo: ICReturnCode { get }
OS X 10.10
ToReceivedUnsolicitedScannerErrorInfo
case ReceivedUnsolicitedScannerErrorInfo
OS X 10.11

Modified ICReturnCode.ReceivedUnsolicitedScannerStatusInfo
NameDeclarationIntroduction
FromICReturnReceivedUnsolicitedScannerStatusInfo
var ICReturnReceivedUnsolicitedScannerStatusInfo: ICReturnCode { get }
OS X 10.10
ToReceivedUnsolicitedScannerStatusInfo
case ReceivedUnsolicitedScannerStatusInfo
OS X 10.11

Modified ICReturnCode.ScannerFailedToCompleteOverviewScan
NameDeclarationIntroduction
FromICReturnScannerFailedToCompleteOverviewScan
var ICReturnScannerFailedToCompleteOverviewScan: ICReturnCode { get }
OS X 10.10
ToScannerFailedToCompleteOverviewScan
case ScannerFailedToCompleteOverviewScan
OS X 10.11

Modified ICReturnCode.ScannerFailedToCompleteScan
NameDeclarationIntroduction
FromICReturnScannerFailedToCompleteScan
var ICReturnScannerFailedToCompleteScan: ICReturnCode { get }
OS X 10.10
ToScannerFailedToCompleteScan
case ScannerFailedToCompleteScan
OS X 10.11

Modified ICReturnCode.ScannerFailedToSelectFunctionalUnit
NameDeclarationIntroduction
FromICReturnScannerFailedToSelectFunctionalUnit
var ICReturnScannerFailedToSelectFunctionalUnit: ICReturnCode { get }
OS X 10.10
ToScannerFailedToSelectFunctionalUnit
case ScannerFailedToSelectFunctionalUnit
OS X 10.11

Modified ICReturnCode.ScannerInUseByLocalUser
NameDeclarationIntroduction
FromICReturnScannerInUseByLocalUser
var ICReturnScannerInUseByLocalUser: ICReturnCode { get }
OS X 10.10
ToScannerInUseByLocalUser
case ScannerInUseByLocalUser
OS X 10.11

Modified ICReturnCode.ScannerInUseByRemoteUser
NameDeclarationIntroduction
FromICReturnScannerInUseByRemoteUser
var ICReturnScannerInUseByRemoteUser: ICReturnCode { get }
OS X 10.10
ToScannerInUseByRemoteUser
case ScannerInUseByRemoteUser
OS X 10.11

Modified ICReturnCode.ScanOperationCanceled
NameDeclarationIntroduction
FromICReturnScanOperationCanceled
var ICReturnScanOperationCanceled: ICReturnCode { get }
OS X 10.10
ToScanOperationCanceled
case ScanOperationCanceled
OS X 10.11

Modified ICReturnCode.Success
NameDeclarationIntroduction
FromICReturnSuccess
var ICReturnSuccess: ICReturnCode { get }
OS X 10.10
ToSuccess
case Success
OS X 10.11

Modified ICReturnCode.UploadFailed
NameDeclarationIntroduction
FromICReturnUploadFailed
var ICReturnUploadFailed: ICReturnCode { get }
OS X 10.10
ToUploadFailed
case UploadFailed
OS X 10.11

Modified ICScannerBandData
Declaration
From
class ICScannerBandData : NSObject {
    var fullImageWidth: Int { get }
    var fullImageHeight: Int { get }
    var bitsPerPixel: Int { get }
    var bitsPerComponent: Int { get }
    var numComponents: Int { get }
    var bigEndian: Bool { get }
    var pixelDataType: ICScannerPixelDataType { get }
    var colorSyncProfilePath: String! { get }
    var bytesPerRow: Int { get }
    var dataStartRow: Int { get }
    var dataNumRows: Int { get }
    var dataSize: Int { get }
    var dataBuffer: NSData! { get }
}
To
class ICScannerBandData : NSObject {
    var fullImageWidth: Int { get }
    var fullImageHeight: Int { get }
    var bitsPerPixel: Int { get }
    var bitsPerComponent: Int { get }
    var numComponents: Int { get }
    var bigEndian: Bool { get }
    var pixelDataType: ICScannerPixelDataType { get }
    var colorSyncProfilePath: String? { get }
    var bytesPerRow: Int { get }
    var dataStartRow: Int { get }
    var dataNumRows: Int { get }
    var dataSize: Int { get }
    var dataBuffer: NSData? { get }
}

Modified ICScannerBandData.colorSyncProfilePath
Declaration
From
var colorSyncProfilePath: String! { get }
To
var colorSyncProfilePath: String? { get }

Modified ICScannerBandData.dataBuffer
Declaration
From
var dataBuffer: NSData! { get }
To
var dataBuffer: NSData? { get }

Modified ICScannerDevice
Declaration
From
class ICScannerDevice : ICDevice {
    var availableFunctionalUnitTypes: [AnyObject]! { get }
    var selectedFunctionalUnit: ICScannerFunctionalUnit! { get }
    var transferMode: ICScannerTransferMode
    var maxMemoryBandSize: UInt32
    var downloadsDirectory: NSURL!
    var documentName: String!
    var documentUTI: String!
    func requestSelectFunctionalUnit(_ type: ICScannerFunctionalUnitType)
    func requestOverviewScan()
    func requestScan()
    func cancelScan()
}
To
class ICScannerDevice : ICDevice {
    var availableFunctionalUnitTypes: [NSNumber] { get }
    var selectedFunctionalUnit: ICScannerFunctionalUnit { get }
    var transferMode: ICScannerTransferMode
    var maxMemoryBandSize: UInt32
    var downloadsDirectory: NSURL
    var documentName: String
    var documentUTI: String
    func requestSelectFunctionalUnit(_ type: ICScannerFunctionalUnitType)
    func requestOverviewScan()
    func requestScan()
    func cancelScan()
}

Modified ICScannerDevice.availableFunctionalUnitTypes
Declaration
From
var availableFunctionalUnitTypes: [AnyObject]! { get }
To
var availableFunctionalUnitTypes: [NSNumber] { get }

Modified ICScannerDevice.documentName
Declaration
From
var documentName: String!
To
var documentName: String

Modified ICScannerDevice.documentUTI
Declaration
From
var documentUTI: String!
To
var documentUTI: String

Modified ICScannerDevice.downloadsDirectory
Declaration
From
var downloadsDirectory: NSURL!
To
var downloadsDirectory: NSURL

Modified ICScannerDevice.selectedFunctionalUnit
Declaration
From
var selectedFunctionalUnit: ICScannerFunctionalUnit! { get }
To
var selectedFunctionalUnit: ICScannerFunctionalUnit { get }

Modified ICScannerDeviceDelegate
Declaration
From
protocol ICScannerDeviceDelegate : ICDeviceDelegate, NSObjectProtocol {
    optional func scannerDeviceDidBecomeAvailable(_ scanner: ICScannerDevice!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didSelectFunctionalUnit functionalUnit: ICScannerFunctionalUnit!, error error: NSError!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didScanToURL url: NSURL!, data data: NSData!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didScanToURL url: NSURL!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didScanToBandData data: ICScannerBandData!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didCompleteOverviewScanWithError error: NSError!)
    optional func scannerDevice(_ scanner: ICScannerDevice!, didCompleteScanWithError error: NSError!)
}
To
protocol ICScannerDeviceDelegate : ICDeviceDelegate, NSObjectProtocol {
    optional func scannerDeviceDidBecomeAvailable(_ scanner: ICScannerDevice)
    optional func scannerDevice(_ scanner: ICScannerDevice, didSelectFunctionalUnit functionalUnit: ICScannerFunctionalUnit, error error: NSError?)
    optional func scannerDevice(_ scanner: ICScannerDevice, didScanToURL url: NSURL, data data: NSData)
    optional func scannerDevice(_ scanner: ICScannerDevice, didScanToURL url: NSURL)
    optional func scannerDevice(_ scanner: ICScannerDevice, didScanToBandData data: ICScannerBandData)
    optional func scannerDevice(_ scanner: ICScannerDevice, didCompleteOverviewScanWithError error: NSError?)
    optional func scannerDevice(_ scanner: ICScannerDevice, didCompleteScanWithError error: NSError?)
}

Modified ICScannerDeviceDelegate.scannerDevice(_: ICScannerDevice, didCompleteOverviewScanWithError: NSError?)
Declaration
From
optional func scannerDevice(_ scanner: ICScannerDevice!, didCompleteOverviewScanWithError error: NSError!)
To
optional func scannerDevice(_ scanner: ICScannerDevice, didCompleteOverviewScanWithError error: NSError?)

Modified ICScannerDeviceDelegate.scannerDevice(_: ICScannerDevice, didCompleteScanWithError: NSError?)
Declaration
From
optional func scannerDevice(_ scanner: ICScannerDevice!, didCompleteScanWithError error: NSError!)
To
optional func scannerDevice(_ scanner: ICScannerDevice, didCompleteScanWithError error: NSError?)

Modified ICScannerDeviceDelegate.scannerDevice(_: ICScannerDevice, didScanToBandData: ICScannerBandData)
Declaration
From
optional func scannerDevice(_ scanner: ICScannerDevice!, didScanToBandData data: ICScannerBandData!)
To
optional func scannerDevice(_ scanner: ICScannerDevice, didScanToBandData data: ICScannerBandData)

Modified ICScannerDeviceDelegate.scannerDevice(_: ICScannerDevice, didScanToURL: NSURL)
Declaration
From
optional func scannerDevice(_ scanner: ICScannerDevice!, didScanToURL url: NSURL!)
To
optional func scannerDevice(_ scanner: ICScannerDevice, didScanToURL url: NSURL)

Modified ICScannerDeviceDelegate.scannerDevice(_: ICScannerDevice, didSelectFunctionalUnit: ICScannerFunctionalUnit, error: NSError?)
Declaration
From
optional func scannerDevice(_ scanner: ICScannerDevice!, didSelectFunctionalUnit functionalUnit: ICScannerFunctionalUnit!, error error: NSError!)
To
optional func scannerDevice(_ scanner: ICScannerDevice, didSelectFunctionalUnit functionalUnit: ICScannerFunctionalUnit, error error: NSError?)

Modified ICScannerDeviceDelegate.scannerDeviceDidBecomeAvailable(_: ICScannerDevice)
Declaration
From
optional func scannerDeviceDidBecomeAvailable(_ scanner: ICScannerDevice!)
To
optional func scannerDeviceDidBecomeAvailable(_ scanner: ICScannerDevice)

Modified ICScannerFeature
Declaration
From
class ICScannerFeature : NSObject {
    var type: ICScannerFeatureType { get }
    var internalName: String! { get }
    var humanReadableName: String! { get }
    var tooltip: String! { get }
}
To
class ICScannerFeature : NSObject {
    var type: ICScannerFeatureType { get }
    var internalName: String? { get }
    var humanReadableName: String? { get }
    var tooltip: String? { get }
}

Modified ICScannerFeature.humanReadableName
Declaration
From
var humanReadableName: String! { get }
To
var humanReadableName: String? { get }

Modified ICScannerFeature.internalName
Declaration
From
var internalName: String! { get }
To
var internalName: String? { get }

Modified ICScannerFeature.tooltip
Declaration
From
var tooltip: String! { get }
To
var tooltip: String? { get }

Modified ICScannerFeatureEnumeration
Declaration
From
class ICScannerFeatureEnumeration : ICScannerFeature {
    unowned(unsafe) var currentValue: AnyObject!
    var defaultValue: AnyObject! { get }
    var values: [AnyObject]! { get }
    var menuItemLabels: [AnyObject]! { get }
    var menuItemLabelsTooltips: [AnyObject]! { get }
}
To
class ICScannerFeatureEnumeration : ICScannerFeature {
    unowned(unsafe) var currentValue: AnyObject
    var defaultValue: AnyObject { get }
    var values: [NSNumber] { get }
    var menuItemLabels: [String] { get }
    var menuItemLabelsTooltips: [String] { get }
}

Modified ICScannerFeatureEnumeration.currentValue
Declaration
From
unowned(unsafe) var currentValue: AnyObject!
To
unowned(unsafe) var currentValue: AnyObject

Modified ICScannerFeatureEnumeration.defaultValue
Declaration
From
var defaultValue: AnyObject! { get }
To
var defaultValue: AnyObject { get }

Modified ICScannerFeatureEnumeration.menuItemLabels
Declaration
From
var menuItemLabels: [AnyObject]! { get }
To
var menuItemLabels: [String] { get }

Modified ICScannerFeatureEnumeration.menuItemLabelsTooltips
Declaration
From
var menuItemLabelsTooltips: [AnyObject]! { get }
To
var menuItemLabelsTooltips: [String] { get }

Modified ICScannerFeatureEnumeration.values
Declaration
From
var values: [AnyObject]! { get }
To
var values: [NSNumber] { get }

Modified ICScannerFeatureTemplate
Declaration
From
class ICScannerFeatureTemplate : ICScannerFeature {
    var targets: [AnyObject]! { get }
}
To
class ICScannerFeatureTemplate : ICScannerFeature {
    var targets: [NSMutableArray] { get }
}

Modified ICScannerFeatureTemplate.targets
Declaration
From
var targets: [AnyObject]! { get }
To
var targets: [NSMutableArray] { get }

Modified ICScannerFunctionalUnit
Declaration
From
class ICScannerFunctionalUnit : NSObject {
    var type: ICScannerFunctionalUnitType { get }
    var pixelDataType: ICScannerPixelDataType
    var supportedBitDepths: NSIndexSet! { get }
    var bitDepth: ICScannerBitDepth
    var supportedMeasurementUnits: NSIndexSet! { get }
    var measurementUnit: ICScannerMeasurementUnit
    var supportedResolutions: NSIndexSet! { get }
    var preferredResolutions: NSIndexSet! { get }
    var resolution: Int
    var nativeXResolution: Int { get }
    var nativeYResolution: Int { get }
    var supportedScaleFactors: NSIndexSet! { get }
    var preferredScaleFactors: NSIndexSet! { get }
    var scaleFactor: Int
    var templates: [AnyObject]! { get }
    var vendorFeatures: [AnyObject]! { get }
    var physicalSize: NSSize { get }
    var scanArea: NSRect
    var scanAreaOrientation: ICEXIFOrientationType
    var acceptsThresholdForBlackAndWhiteScanning: Bool { get }
    var usesThresholdForBlackAndWhiteScanning: Bool
    var defaultThresholdForBlackAndWhiteScanning: UInt8 { get }
    var thresholdForBlackAndWhiteScanning: UInt8
    var state: ICScannerFunctionalUnitState { get }
    var scanInProgress: Bool { get }
    var scanProgressPercentDone: CGFloat { get }
    var canPerformOverviewScan: Bool { get }
    var overviewScanInProgress: Bool { get }
    var overviewImage: CGImage! { get }
    var overviewResolution: Int
}
To
class ICScannerFunctionalUnit : NSObject {
    var type: ICScannerFunctionalUnitType { get }
    var pixelDataType: ICScannerPixelDataType
    var supportedBitDepths: NSIndexSet { get }
    var bitDepth: ICScannerBitDepth
    var supportedMeasurementUnits: NSIndexSet { get }
    var measurementUnit: ICScannerMeasurementUnit
    var supportedResolutions: NSIndexSet { get }
    var preferredResolutions: NSIndexSet { get }
    var resolution: Int
    var nativeXResolution: Int { get }
    var nativeYResolution: Int { get }
    var supportedScaleFactors: NSIndexSet { get }
    var preferredScaleFactors: NSIndexSet { get }
    var scaleFactor: Int
    var templates: [ICScannerFeatureTemplate] { get }
    var vendorFeatures: [ICScannerFeature]? { get }
    var physicalSize: NSSize { get }
    var scanArea: NSRect
    var scanAreaOrientation: ICEXIFOrientationType
    var acceptsThresholdForBlackAndWhiteScanning: Bool { get }
    var usesThresholdForBlackAndWhiteScanning: Bool
    var defaultThresholdForBlackAndWhiteScanning: UInt8 { get }
    var thresholdForBlackAndWhiteScanning: UInt8
    var state: ICScannerFunctionalUnitState { get }
    var scanInProgress: Bool { get }
    var scanProgressPercentDone: CGFloat { get }
    var canPerformOverviewScan: Bool { get }
    var overviewScanInProgress: Bool { get }
    var overviewImage: CGImage? { get }
    var overviewResolution: Int
}

Modified ICScannerFunctionalUnit.overviewImage
Declaration
From
var overviewImage: CGImage! { get }
To
var overviewImage: CGImage? { get }

Modified ICScannerFunctionalUnit.preferredResolutions
Declaration
From
var preferredResolutions: NSIndexSet! { get }
To
var preferredResolutions: NSIndexSet { get }

Modified ICScannerFunctionalUnit.preferredScaleFactors
Declaration
From
var preferredScaleFactors: NSIndexSet! { get }
To
var preferredScaleFactors: NSIndexSet { get }

Modified ICScannerFunctionalUnit.supportedBitDepths
Declaration
From
var supportedBitDepths: NSIndexSet! { get }
To
var supportedBitDepths: NSIndexSet { get }

Modified ICScannerFunctionalUnit.supportedMeasurementUnits
Declaration
From
var supportedMeasurementUnits: NSIndexSet! { get }
To
var supportedMeasurementUnits: NSIndexSet { get }

Modified ICScannerFunctionalUnit.supportedResolutions
Declaration
From
var supportedResolutions: NSIndexSet! { get }
To
var supportedResolutions: NSIndexSet { get }

Modified ICScannerFunctionalUnit.supportedScaleFactors
Declaration
From
var supportedScaleFactors: NSIndexSet! { get }
To
var supportedScaleFactors: NSIndexSet { get }

Modified ICScannerFunctionalUnit.templates
Declaration
From
var templates: [AnyObject]! { get }
To
var templates: [ICScannerFeatureTemplate] { get }

Modified ICScannerFunctionalUnit.vendorFeatures
Declaration
From
var vendorFeatures: [AnyObject]! { get }
To
var vendorFeatures: [ICScannerFeature]? { get }

Modified ICScannerFunctionalUnitDocumentFeeder
Declaration
From
class ICScannerFunctionalUnitDocumentFeeder : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet! { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
    var supportsDuplexScanning: Bool { get }
    var duplexScanningEnabled: Bool
    var documentLoaded: Bool { get }
    var oddPageOrientation: ICEXIFOrientationType
    var evenPageOrientation: ICEXIFOrientationType
    var reverseFeederPageOrder: Bool { get }
}
To
class ICScannerFunctionalUnitDocumentFeeder : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
    var supportsDuplexScanning: Bool { get }
    var duplexScanningEnabled: Bool
    var documentLoaded: Bool { get }
    var oddPageOrientation: ICEXIFOrientationType
    var evenPageOrientation: ICEXIFOrientationType
    var reverseFeederPageOrder: Bool { get }
}

Modified ICScannerFunctionalUnitDocumentFeeder.supportedDocumentTypes
Declaration
From
var supportedDocumentTypes: NSIndexSet! { get }
To
var supportedDocumentTypes: NSIndexSet { get }

Modified ICScannerFunctionalUnitFlatbed
Declaration
From
class ICScannerFunctionalUnitFlatbed : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet! { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}
To
class ICScannerFunctionalUnitFlatbed : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}

Modified ICScannerFunctionalUnitFlatbed.supportedDocumentTypes
Declaration
From
var supportedDocumentTypes: NSIndexSet! { get }
To
var supportedDocumentTypes: NSIndexSet { get }

Modified ICScannerFunctionalUnitNegativeTransparency
Declaration
From
class ICScannerFunctionalUnitNegativeTransparency : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet! { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}
To
class ICScannerFunctionalUnitNegativeTransparency : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}

Modified ICScannerFunctionalUnitNegativeTransparency.supportedDocumentTypes
Declaration
From
var supportedDocumentTypes: NSIndexSet! { get }
To
var supportedDocumentTypes: NSIndexSet { get }

Modified ICScannerFunctionalUnitPositiveTransparency
Declaration
From
class ICScannerFunctionalUnitPositiveTransparency : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet! { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}
To
class ICScannerFunctionalUnitPositiveTransparency : ICScannerFunctionalUnit {
    var supportedDocumentTypes: NSIndexSet { get }
    var documentType: ICScannerDocumentType
    var documentSize: NSSize { get }
}

Modified ICScannerFunctionalUnitPositiveTransparency.supportedDocumentTypes
Declaration
From
var supportedDocumentTypes: NSIndexSet! { get }
To
var supportedDocumentTypes: NSIndexSet { get }