Why would you employ a rarely used and practically inaccessible command, "darwinup", in a script that is part of sample code for the SimpleAudio project? I searched here in the developer content. I searched generally online. There is very little content for "darwinup".
Albeit fun and necessary in SOME cases, practically speaking, no one has unlimited time to "get lost in the weeds" to comprehend the entire paradigm of absolutely every API by debugging sample code, particularly when tools are inaccessible. Not really sample code, now, is it?
This enterprise is counterproductive.
Forcing us to understand the newest API paradigms by strategically leaving certain information out is helpful, but not when it becomes a situation where resources that are not germane to the task are employed to create frustration just to create frustration. I feel as though there is a more sinister message being conveyed. It is not unlike a passive aggressive campaign. You say we can do things, but you also DELIBERATELY engineer the process that enables achievement such that achievement is not the outcome for everyone. Maybe some of us are seeing darwinup and others are not. Maybe you are choosing who is able to get certain tools. It is clear that every running instance of MacOS X is actively "managed" by the corporation. You know everyone who is developing. Are you really democratizing technology? Hard to say.
Please. I implore you. Stop the madness, and facilitate access to running sample code so that we can actually "bridge the digital divide". "Some of us" ACTUALLY need to be able to learn what "some of us" were misled to believe we could.
Given that no one is posting about darwinup, I guess I am one of those who someone decided, "does not need to have access."
I cannot run the script in SimpleAudioDriver to begin to understand engineering audio drivers for MacOS X. Darwinup at the command line is not available in Big Sur. I am using the very latest Xcode and Command Line Tools for Xcode.
How may I successfully install SimpleAudioDriver and otherwise start experimenting with running code that I can then modify to understand?
Yes, YES, YES! I addressed the entitlement and signing issue. Yes, I have successfully signed to run locally and did successfully build. I may be quite ignorant, but I am not a complete noob.
This is environment: Big Sur 11.4, Xcode 12.5.1, Command Line Tools for Xcode 12.5.1
Hi, we're aware that the documentation in the SimpleAudio sample code is out of date, and I'm sorry that the experience so far has been unpleasant.
The technical problem is that the darwinup
utility is not compatible with the security requirements of Big Sur and later macOS versions, so it's longer distributed as part of macOS — and it's not safe to use on current macOS versions even if you have the utility.
For the AudioServerPlugin target of the sample, you can install the plugin as described for the related NullAudio sample project:
https://developer.apple.com/documentation/coreaudio/creating_an_audio_server_driver_plug-in/
For the driver extension target of the sample, you can follow the instructions from the driver extensions sample project:
https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app/
In particular, you'll want to focus on the section about creating a container app target which can use the SystemExtensions framework to install the driver extension securely, for Big Sur, Monterey and beyond. That installation step replaces the darwinup
procedure.
This project also has a deeper dive into entitlements and testing, so it's a great resource to study anyway.