Posts

Post not yet marked as solved
2 Replies
1.8k Views
Hi,I'm looking for some clarification about the new DriverKit API for userspace device access in Catalina and above.I have a userspace USBHID driver for a proprietary device that is implemented using IOKit's IOUSBDeviceInterface and IOHIDDeviceInterface to communicate with Apple's HID driver. As far as I can tell this API is still valid in 10.15+.I see that in Catalina the new com.apple.driverkit.AppleUserUSBHostHIDDevice driver is loaded for the device. Our current IOKit based code doesn't work properly with the device on 10.15 and I'm trying to figure out if it needs to be ported to DriverKit.Is the IOKit based code still the right way to access this device or does it need to be ported to DriverKit?Glenn
Posted
by glennra.
Last updated
.
Post not yet marked as solved
4 Replies
2.0k Views
Hi, I develop a MacOS application that has been being successfully distributed for several years. Recently (I think following the 10.15.6 update) it began failing to start after signing. It runs ok on my dev machine without signing. % open ./path/to/MyApp.app LSOpenURLsWithRole() failed with error -10810 for the file /path/to/MyApp.app. The system.log indicates an issue with the signature. Aug 11 10:57:28 mbp2019 com.apple.xpc.launchd[1] (*.*.*.109024[20001]): removing service since it exited with consistent failure - OSREASONCODESIGNING | When validating /path/to/MyApp.app/Contents/MacOS/MyApp: Code has restricted entitlements, but the validation of its code signature failed. Unsatisfied Entitlements: Aug 11 10:57:28 mbp2019 com.apple.xpc.launchd[1] (*.*.*.109024[20001]): Binary is improperly signed. However no issues are reported when verifying the signature. % codesign -dv --verbose=4 -r- /path/to/MyApp.app Executable=/path/to/MyApp.app/Contents/MacOS/MyApp Identifier=*.*.* Format=app bundle with Mach-O thin (x86_64) CodeDirectory v=20500 size=612 flags=0x10000(runtime) hashes=10+5 location=embedded VersionPlatform=1 VersionMin=657152 VersionSDK=658176 Hash type=sha256 size=32 CandidateCDHash sha1=53994a8bacf921809f8c3dd224b9537a48fa6fa1 CandidateCDHashFull sha1=53994a8bacf921809f8c3dd224b9537a48fa6fa1 CandidateCDHash sha256=8c0c0b984cfa0f037b90b32fd2934fa806a3c40e CandidateCDHashFull sha256=8c0c0b984cfa0f037b90b32fd2934fa806a3c40ef3d064a4c05ed9d968eb5ce0 Hash choices=sha1,sha256 CMSDigest=6024afb1b3d39417d6a4beb25d0fb021717750af26f51ad3acde6269723c698f CMSDigestType=2 Page size=4096 CDHash=8c0c0b984cfa0f037b90b32fd2934fa806a3c40e Signature size=9070 Authority=Developer ID Application: * *** ***. (XXXXXXXXX) Authority=Developer ID Certification Authority Authority=Apple Root CA Timestamp=11/08/2020 at 10:57:06 AM Info.plist entries=9 TeamIdentifier=XXXXXXXXX Runtime Version=10.11.0 Sealed Resources version=2 rules=13 files=394 designated => identifier "*.*.xxxx" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = XXXXXXXXXX % spctl --assess -vvv /path/to/MyApp.app /path/to/MyApp.app: accepted source=Developer ID origin=Developer ID Application: *** *** *** (XXXXXXXXXX) entitlements.plist: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "<removed-for-forum&gt;/DTDs/PropertyList-1.0.dtd"> &lt;plist version="1.0"&gt; &lt;dict&gt; &lt;key&gt;com.apple.security.cs.allow-unsigned-executable-memory&lt;/key&gt; &lt;true/&gt; &lt;key&gt; com.apple.security.device.usb&lt;/key&gt; &lt;true/&gt; &lt;/dict&gt; &lt;/plist&gt; How do I find out what the issue is?
Posted
by glennra.
Last updated
.
Post not yet marked as solved
0 Replies
482 Views
I'm using Xcode 11.3 to try to debug a MacOS application. It shows source for the app itself but only shows disassembly when stepping into a library (that I built from source on this machine). Debug &gt; Debug Workflow &gt; Shared Libraries... shows that the debug symbols are present for this library. Debug &gt; Debug Workflow &gt; Always show disassembly is unchecked.There is a case where it does work. The library I'm using is Ogre3D. If I create a Debug build it creates standard framework folders and if debugging my app using those then I get the disassembly. If I enable the SampleBrowser component in the Ogre build then the build process adds a symlink in each framework to the absolute path of itself inside the framework dir. With this symlink present source level debugging works in Xcode.What is going on here?
Posted
by glennra.
Last updated
.