At a technical level, I don’t see anything that stops you doing this. If you enable the hardened runtime (which you should :-), you’ll need to disable library validation because the plug-in won’t be signed by you. You’ll also need to dynamic extend your sandbox to allow access to the bundle, including its main executable. Typically you do that using the open panel, and persist that access using a security-scoped bookmark. After that, use your dynamic loading API of choice (NSBundle, CFBundle, dlopen) to load the bundle’s executable and call code in it. I prototyped this here in my office and it worked a treat. I’ve pasted in some code below. I tested this with Xcode 26.6 on macOS 26.6.1, but I don’t think this story has changed since the very early days of the App Sandbox. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com This is the code within my bundle: @c func entryPoint() { print(Hello Cruel World!) } Note It uses @c, as
Topic:
App & System Services
SubTopic:
Core OS
Tags: