My software is a daemon that is launched via a plist in /Library/LaunchDaemons . Naturally it does not have GUI and other than configuring the runtime during its installation (.pkg) I imagined that creating a System Preferences plugin for my software would allow a privileged user to make changes to the software's runtime configuration. For example the plugin would allow a privileged user to start and stop the daemon. The installer plugin and its helper were setup and signed so that they - in theory - should work together like the SMJobBless examples do.
The only difference from examples like EvenBetterAuthorizationSample from what I can tell is that those examples are using a *.app as opposed to a *.prefPane .
The SMJobBless error message output to console is:
The operation couldn’t be completed. (CFErrorDomainLaunchd error 2.)
Is there a limitation in using System Preferences/Settings with SMJobBless?
So SMJobBless won’t help you here; it only works for apps.
Having said that, SMJobBless is only about installing a privileged helper tool. You already have an installer to install all the other parts of your product, so having that installer lay down your privileged helper tool at the same time seems like a reasonable approach.
Once the privileged helper tool is installed then you end up doing the same XPC and Authorization Services dance as you would if it’d been installed by SMJobBless.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"