I am currently renovating an application for macOS Sonoma (14.4) which triggers a Canon 60D via USB cable. Unlike what happened before in MacOS 10.6, the camera (ICCameraDevice) has description that contains only 2 capabilities:
{
UUIDString = "00000000-0000-0000-0000-000004A93215";
autolaunchApplicationPath = "";
capabilities = (
ICCameraDeviceCanDeleteOneFile,
ICCameraDeviceCanAcceptPTPCommands
);
class = ICCameraDevice;
connectionID = 0xffff0001;
delegate = "<0x600003157ac0>";
deviceID = 0xffff0001;
deviceRef = 0xffff0001;
iconPath = "(null)";
locationDescription = ICDeviceLocationDescriptionUSB;
moduleExecutableArchitecture = 0;
modulePath = "/System/Library/Image Capture/Devices/PTPCamera.app";
moduleVersion = "1.0";
name = "Canon EOS 60D";
persistentIDString = "00000000-0000-0000-0000-000004A93215";
shared = NO;
softwareInstallPercentDone = "0.000000";
transportType = ICTransportTypeUSB;
type = 0x00000101;
} timeOffset : 0.000000
hasConfigurableWiFiInterface : N/A
isAccessRestrictedAppleDevice : NO
As you can see, ICCameraDeviceCanTakePicture is not present now, and so I cannot take a picture with requestTakePicture.
Do I need to do anything special to regain these capabilities, like in older versions of macOS?
Is my only option to use PTP commands?
Thanks!