We are using ICDeviceBrowser
to find the camera devices connected to a Mac system and it runs ok in macOS 12 but the delegate is never called and the device array is always empty in macOS 13.
@interface NKDeviceBrowser () < NKDeviceBrowserDelegate, ICDeviceBrowserDelegate>
{
-(void)startICDeviceBrowser
{
NSLog(@"CALL [ %@ ]", NSStringFromSelector(_cmd));
if ((_browsedDeviceTypeMask & NkDeviceLocationTypeBonjour)) {
mDeviceBrowser = [[ICDeviceBrowser alloc] init];
mDeviceBrowser.delegate = self;
mDeviceBrowser.browsedDeviceTypeMask = (ICDeviceTypeMask)(ICDeviceLocationTypeMaskLocal|ICDeviceTypeMaskCamera|ICDeviceLocationTypeBonjour);
[mDeviceBrowser start];
}
}
-(void)deviceBrowser:(ICDeviceBrowser*)browser didAddDevice:(ICDevice*)addedDevice moreComing:(BOOL)moreComing
{
NSLog(@"CALL [ %@ ]", NSStringFromSelector(_cmd));
if ( addedDevice.type & ICDeviceTypeCamera ) {
NSLog(@"Added Device Name %@",addedDevice.name);
if ([_delegate respondsToSelector:@selector(deviceBrowser:didAddDevice:moreComing:)]) {
[_delegate deviceBrowser:self didAddDevice:addedDevice moreComing:moreComing];
}
}
}
}
Its working fine till macOS 12 but not working in macOS 13.