to explain the motivation
Can you explain more of the motivation here? What type of product are you shipping? An app? Or something else? What’s this secondary process you’re trying to launch? Something you created? Or some other code that just happens to already exist on the system? And why does this code need to run outside of the sandbox?
The reason I have all of these questions is that the questions you’ve posed above assume a structure that is far removed from how macOS actually works. It misses a key component of the
launchd/ XPC architecture, namely that jobs are launched on demand and that XPC, as an IPC mechanism, creates that demand. One does not simply start a
launchdjob, but rather
launchdknows about all the communication endpoints (of which XPC services are just one type) and it’s the attempt to communicate with that endpoint that causes
launchdto start the process responsible for that endpoint. In short, XPC without the C makes no sense.
Share and Enjoy
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"
ps DTS is closed 21 Dec through 1 Jan.