CStringer42 wrote:
I'm a software engineer
I used to be. But after immigrating to Canada, I learned that's a regulated title. So now I'm just a software developer. But at least my satellites are still in orbit. 😄 🛰️ Most "software engineers" couldn't say as much.
I can assure you that yes, bugs do get fixed!
Not necessarily. Bugs that you or I might release will probably get fixed, but Apple generally doesn't fix bugs. Instead, they have an army of 20-something software engineers who re-write everything on iOS, and then port that to macOS. That means there's likely different behaviour every year. Sometimes, bugs that existed in past years might not exist in the current build. But that doesn't mean that anyone "fixed" them per se. It just means they were "overcome by events".
It becomes much more difficult for us, however, when a company like Apple decides to change something like this, as this change has broken one of my applications, and there is no documentation on it that I can find thus far.
You should still consider yourself lucky. The "system_profiler" tool can do machine-readable output, so in Apple Developer terminology, that's "almost API".
The "SPUSBDataType" flag listed all attached physical USB devices. "SPUSBHostDataType" only returns the "host" controllers. Missing are the USB devices that are actually attached to those host controllers, and a lot of information about them that is very difficult to ascertain (programmatically) otherwise.
It seems to work for me. When I plug in a USB drive, my EtreCheck output now says:
USB:
USB 3.1 Bus
PSSD T7
USB 3.1 Bus
<Empty>
There's actually more data there that I could be using. If I grabbed the USBDeviceKeyLinkSpeed and the USBDeviceKeyVendorName fields, it could say something like this:
USB:
USB 3.1 Bus
Samsung PSSD T7 (10 Gb/s)
USB 3.1 Bus
<Empty>
But that's a bug fix for another day.
Most of this information is just pulled from IOKit. You can get that without spawning a separate process. Sometimes it's useful.
I was hoping someone with insider info might be able to help. Waiting to hear back from Apple Developer support, so we'll just wait and see!
Good luck with that! For better or worse, this is as good as it gets.