Uninstalling System Extensions with SIP enabled

Our companies security policies require that SIP be enabled all the time which makes it difficult to develop my System Extension since I need to uninstall anytime I need to test any changes to a newly compiled extension. Is there anyway to uninstall the extension with SIP enabled? I already have developer mode on. Is there anything in XCode that can do this? Thx

Answered by DTS Engineer in 792129022

Is there anyway to uninstall the extension with SIP enabled?

Yes and no. You can’t use systemextensionsctl with SIP enabled but there are other options:

  • If you drag the app to the trash, the Finder will uninstall the sysex.

  • The System Extensions framework lets you update a previous system extension. The old extension is not fully removed, but it is deactivated and that’s usually good enough.

When I’m working on a sysex I generally restart once a day, just to clear out the inactive ones.

For more concrete info about my workflow, see Debugging a Network Extension Provider.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Is there anyway to uninstall the extension with SIP enabled?

Yes and no. You can’t use systemextensionsctl with SIP enabled but there are other options:

  • If you drag the app to the trash, the Finder will uninstall the sysex.

  • The System Extensions framework lets you update a previous system extension. The old extension is not fully removed, but it is deactivated and that’s usually good enough.

When I’m working on a sysex I generally restart once a day, just to clear out the inactive ones.

For more concrete info about my workflow, see Debugging a Network Extension Provider.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Quinn,

Thanks. I actually discovered the second method late last night. Since when I'm developing in Xcode I found that if I change the build number in the project it does replace the existing extension which is what I was needing.

Scott

Uninstalling System Extensions with SIP enabled
 
 
Q