Is it possible to add the System Extensions and its Container App as Helper App?

First of all, it's only for Developer ID App, not for Mac Store App.


We have legacy Cocoa Application A. We don't want to embed the System Extensions in it because the changing would be too much. Instead, we're thinking of developing the other container App B to embed the System Extensions, and adding B to A as Helper App (like Build Phase->Copy Bundle Resources). Then A application can simply launch B application to enable the System Extensions. I want to know if it's actually feasible? Could it pass Notarization?


Thanks,

Xin

Answered by DTS Engineer in 424778022

Could it pass Notarization?

Notarisation won’t be a problem. The notary service will happily accept deeply nested code like this as long as it’s correctly signed.

like Build Phase->Copy Bundle Resources

Do not nest code in

Content/Resources/
. This contravenes the nested code guidelines in Technote 2206 macOS Code Signing In Depth and can cause all sorts of odd code signing problems.

See the Nested Code section of TN2206 for info on where your app should be nested. This will likely involve you creating a new Copy Files build phase to copy the app to the right place, but that’s not hard.

As to whether this will actually work, it’s hard to say. The system extension subsystem was designed on the assumption that the sysex is embedded within a top level app, so I’ve no idea how it’ll react to your proposed setup.

Honestly, I think you’d be better off grasping the nettle and updating app A.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
Accepted Answer

Could it pass Notarization?

Notarisation won’t be a problem. The notary service will happily accept deeply nested code like this as long as it’s correctly signed.

like Build Phase->Copy Bundle Resources

Do not nest code in

Content/Resources/
. This contravenes the nested code guidelines in Technote 2206 macOS Code Signing In Depth and can cause all sorts of odd code signing problems.

See the Nested Code section of TN2206 for info on where your app should be nested. This will likely involve you creating a new Copy Files build phase to copy the app to the right place, but that’s not hard.

As to whether this will actually work, it’s hard to say. The system extension subsystem was designed on the assumption that the sysex is embedded within a top level app, so I’ve no idea how it’ll react to your proposed setup.

Honestly, I think you’d be better off grasping the nettle and updating app A.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
Is it possible to add the System Extensions and its Container App as Helper App?
 
 
Q