0

I am working on one iOS App and needs to be able to detect if the device has an external camera such as DSLR. I am using ImageCaptureCore framework for that and using its ICDeviceBrowserDelegate to detect connected cameras to my Mac or iPhone. But, this delegates never called. Can anyone help on this ? This is working for Mac app though...

class CameraFinder: NSObject, ICDeviceBrowserDelegate {


private var deviceBrowser: ICDeviceBrowser

var devices: [ICCameraDevice: CameraDeviceItem] = [:]

override init() {
    self.deviceBrowser = ICDeviceBrowser()
    super.init()
    deviceBrowser.delegate = self
    deviceBrowser.start()

    print("[DeviceFinder] started ICDeviceBrowser; connect camera device now")
}

deinit {
    deviceBrowser.stop()
}

// MARK: ICDeviceBrowserDelegate
func deviceBrowser(_ browser: ICDeviceBrowser, didAdd device: ICDevice, moreComing: Bool) {
    guard let device = device as? ICCameraDevice else {
        return
    }

    devices[device] = CameraDeviceItem(device)
}

func deviceBrowser(_ browser: ICDeviceBrowser, didRemove device: ICDevice, moreGoing: Bool) {
    guard let device = device as? ICCameraDevice else {
        return
    }

    devices.removeValue(forKey: device)
}

}

0 Answers0