Hi,I have a server (written in C++) that I'd like to port to a launchd service and I'm finding it difficult to navigate the macOS documentation. If I go to the developer docs search page and type in launchd I don't really get anything unless I check "Beta" in the filter. Is this an indication I should not be using launchd?If I look at the "beta" documentation here https://developer.apple.com/library/prerelease/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/Introduction.htmlIt leads me to this statementIf your daemon advertises a socket, check in withlaunchd as part of your daemon initialization. For an example implementation of the check-in process, see
SampleD.
This sounds exactly what I need to know as I'd like my service started on demand and it currently listens on a socket for clients.However when I take a look at that sample it first calls kqueue() which I cannot find any documentation for on the developer docs search page. There is a man page on my 10.11 machine. Then the sample calls a bunch of XPC calls (like launch_data_dict_lookup) that are all marked deprecated. If I shouldn't be calling those what are their replacements, their pages don't list any. Again this doesn't sound like an API I should be looking at for the future.Any suggestions on what I should read or use?- James
Post
Replies
Boosts
Views
Activity
I have a signed, notarized app that makes use of a privileged helper. In macOS 11 and 12, as noted in several places in the documentation, there was/is an increasing requirement for the user to grant permission for things over prior macOS releases. This is great, I'm on board.
I've found that the privileged helper now needs the broad "Full Disk Access". How do I get the Finder to ask the user permission for this?
My helper has the special text sections called "__info_plist" and "__launchd_plist" and I tried putting what I think should go into them in those but I didn't have any luck. Is there another section I need to know about or did I just mess something else up?
I'm not using Xcode or Swift or ObjectiveC, everything is C++/C and the command line tools. My helper and Application use XPC to communicate with each other.
Thanks!
(after my helper fails it does show up in the Full Disk Access list, if you check that pref and try again it all works, I don't want my users to ever have to do that)