Posts

Post not yet marked as solved
0 Replies
167 Views
Hi, does anyone know if IOUSBDeviceInterface187 and IOUSBInterfaceInterface190 interfaces will be available on application level next years and there is no any deprecation plans ? Common Recommendations are to use USBDriverKit, but is there a real need to complicate USB communication in this way?
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
0 Replies
227 Views
I did it with older OSX versions, but can't do on Ventura Vendor and product IDS are defined in DeviceMatchingInfo.plist: <key>usb</key> <dict> <key>IOUSBDevice</key> <array> <dict> <key>Product Identification</key> <string>TravelScan Pro</string> <key>device events</key> <array> <string>scan</string> </array> <key>device type</key> <string>scanner</string> <key>idProduct</key> <integer>18455</integer> <key>idVendor</key> <integer>7628</integer> </dict> </array> </dict> There is also DeviceInfo.plist with scanner properties. Additionally I tried to insert following keys into the project info.plist: <key>IOKitPersonalities</key> <dict> <key>travelscanpro</key> <dict> <key>IOClass</key> <string>travelscanpro</string> <key>IOProviderClass</key> <string>IOUSBDevicxe</string> <key>idProduct</key> <string>0x4817</string> <key>idVendor</key> <string>0x1DCC</string> </dict> </dict> as well as com.apple.developer.driverkit.transport.usb key with Vendor ID into entitlemens file, but no changes, the scanner is not shown in ImageCapture.app. There are log messages on scanner connect: icdd default Device DB | Creating local devices icdd <Missing Description> default Sandbox: icdd(549) allow file-read-data /Library/Image Capture/Devices kernel <Missing Description> default Sandbox: icdd(549) allow file-read-data /Library/Image Capture/Devices/AbcTr.app/Contents/Resources/DeviceMatchingInfo.plist kernel <Missing Description> default Sandbox: icdd(549) allow file-read-data /Library/Image Capture/Devices/AbcTr.app/Contents/Resources/DeviceInfo.plist kernel icdd default Device DB | Creating bonjour devices icdd <Missing Description> default Sandbox: icdd(549) allow file-read-data /Library/Image Capture/Devices kernel <Missing Description> default Sandbox: icdd(549) allow file-read-data /Library/Image Capture/Devices/AbcTr.app/Contents/Resources/DeviceMatchingInfo.plist kernel icdd default => [Matching] | [ 0x00,0x00,0x00 ] icdd icdd default Added | 0x10000007 - [USB][ TravelScan Pro ] ( 0, 0, 0) @ 0x2400000 | icdd icdd default Autolaunch | 00000000-0000-0000-0000-000000000030 => (null) icdd ccid error Failed to find AppleUSBAlternateServiceRegistryID. com.apple.ifdreader What does mean the last message ? I could not find any useful info. The application can be launched manually
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
0 Replies
300 Views
In my old scanner driver I filled gICDScannerCallbackFunctions structure with callback links and then called ICD_ScannerMain(..) Now I'm trying to rebuild the driver as driverkit extension, but it looks like ICADevices framework is not available here. What API should the driver implement to communicate with the application and how to register it?
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
0 Replies
299 Views
I have XCode 15.0 project with system extension target (c++), and can't include some standard headers, like or . Compilation error: __debug file not found. Base SDK and Supported platforms: DriverKit. Reinstallation of XCode didn't help, as well as manual copy of __debug file into framework include folder. No problems with other C++ targets (command line tools, etc) Please reply if you have identical projects, but without compilation errors. May be that is my system configuration problem and not common DriverKit feature ?
Posted
by Farquaad.
Last updated
.
Post marked as solved
2 Replies
343 Views
I'm trying to open project from XCode 15 with XCode 14. Project format is set to XCode 14.0, but that doesn't help. Many thanks for any advices
Posted
by Farquaad.
Last updated
.
Post marked as solved
1 Replies
348 Views
I'm trying to find extension by name with following code: static const char* dextIdentifier = "someDextName"; CFMutableDictionaryRef cfd = IOServiceNameMatching(dextIdentifier); int nMatch = (int)CFDictionaryGetCount(cfd); printf("nMatch=%d\n",nMatch); const void *keys[nMatch], *values[nMatch]; CFDictionaryGetKeysAndValues(cfd, keys, values); for(int e=0; e < nMatch; e++) { char key[100] = "", value[100] = ""; if(CFStringGetCString(reinterpret_cast<CFStringRef>(keys[e]), key, sizeof(key), kCFStringEncodingASCII)) { printf("Key: %s\n",key); } if(CFStringGetCString(reinterpret_cast<CFStringRef>(values[e]), value, sizeof(value), kCFStringEncodingASCII)) { printf("Value: %s\n",key); } } Regardless of dextIdentifier value IOServiceNameMatching always returns single record (nMatch = 1), where key = "IONameMatch" and value = It doesn't matter whether the specified extension name exists or not There is the single extension in the system, according to 'systemextensionsctl list' command
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
0 Replies
229 Views
I'm working on dext project (c++), Base SDK and Supported Platforms are set to DriverKit. #include causes errors: error "The iostreams library is not supported since libc++ has been configured without support for localization." error "<locale.h> is not supported since libc++ has been configured without support for localization." Also it's not possible to define custom log object: undeclared identifier 'os_log_create'. <os/log.h> included and os_log function is compiled correct. macOS as additional SDK did not help. Thanks a lot for any hint.
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
0 Replies
390 Views
May be trivial question, but I can't find a clear answer. What interface should ICA (scanner) driver implement to communicate with the application ? i.e. to receive acquisition request with parameters and transfer image[s]. Thanks
Posted
by Farquaad.
Last updated
.
Post not yet marked as solved
1 Replies
862 Views
I'm trying to build C project with XCode 15.0, but always get error 'assert.h' file not found. I tried to clean and restart XCode, reinstall XCode and reboot, set different framework versions and project formats. I found all entries of stdarg.h with Finder and made sure, that all directories, containing stdarg.h, contain also assert.h, but stdarg.h includes are resolved, assert.h - not. How could this be ? Many thanks for any help. Ventura 13.6, M2, Command line tools version 2397
Posted
by Farquaad.
Last updated
.