Post

Replies

Boosts

Views

Activity

'assert.h' file not found
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
1
1
2.1k
Oct ’23
Strange behavior of IOServiceNameMatching(..)
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
1
0
790
Nov ’23
DriverKit XCode compilation errors
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.
1
0
521
Apr ’25
Can't use <memory> <vector> and some other includes with DriverKit framework
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 ?
1
0
778
Nov ’23
How to match ICA driver to device with plist files ?
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
0
0
575
Nov ’23
'assert.h' file not found
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
Replies
1
Boosts
1
Views
2.1k
Activity
Oct ’23
Move project to older Xcode version
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
Replies
2
Boosts
0
Views
1.4k
Activity
Nov ’23
Strange behavior of IOServiceNameMatching(..)
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
Replies
1
Boosts
0
Views
790
Activity
Nov ’23
ICA driver API
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
Replies
0
Boosts
0
Views
830
Activity
Oct ’23
DriverKit XCode compilation errors
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.
Replies
1
Boosts
0
Views
521
Activity
Apr ’25
Can't use <memory> <vector> and some other includes with DriverKit framework
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 ?
Replies
1
Boosts
0
Views
778
Activity
Nov ’23
How to register dext as Image Capture (ICA) driver
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?
Replies
0
Boosts
0
Views
614
Activity
Nov ’23
How to match ICA driver to device with plist files ?
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
Replies
0
Boosts
0
Views
575
Activity
Nov ’23
IOUSBDeviceInterface187 and IOUSBInterfaceInterface190 availability
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?
Replies
0
Boosts
0
Views
860
Activity
Mar ’24