System Extension Usage Description won't display

Hi!

I'm working on a firewall for macOS using Network Extensions, with Network Filter. The problem I'm seeing is that even if the NSSystemExtensionUsageDescription key is required in the Info.plist, its value is never shown (i.e. none of the pop-ups show this string).

The shown pop-ups when loading the System Extension are:
  • System Extension Blocked: The program ”PulseSecureFirewallTest“ tried to load new system extension(s). If you want to enable these extensions, open Security & Privacy System Preferences. (this pop-up allows me to open Security Preferences and grant access to the System Extension).

  • “PulseSecureFirewallTest” Would Like to Filter Network Content: All network activity on this Mac may be filtered or monitored. (This is the pop-up that allows the system extension to be loaded)

As I understand, the second pop-up should show my Usage Description. But it doesn't. Is there any other key that I should be using to show this message?

Here is the usage description in my Info.plist:

Code Block
<key>NSSystemExtensionUsageDescription</key>
<string>TODO: This is some test string.</string>


Thanks in advance.


For a System Extension like Endpoint Security you will see this key's description being used. For a Network Extensions there might be a reason this key is not being displayed. Let's get a Feedback created for updated documentation on this. Please respond back with the Feedback ID so I can copy myself on it for future updates.


Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
Thanks!

Here is the Feedback ID: FB7774129.
As a side-question, is there any way to customize the UX of the System Extension activation flow? I could not find any information on this either.
Thank you for the Feedback. I see it internally and have requested access to be provided updates on the Feedback ID. Also, thank you including a sysdiagnose.

As a side-question, is there any way to customize the UX of the System Extension activation flow? I could not find any information on this either.

The OSSystemExtensionRequest API does not include any customization for altering the UX of the System Extension installtion process. There are delegate callbacks that you could look at take advantage of for cases like completed, willCompleteAfterReboot, and then the error case. Just keep in mind that the focus at this point might be on the System Preferences window and not on host app.

Code Block swift
func request(_ request: OSSystemExtensionRequest, didFinishWithResult result: OSSystemExtensionRequest.Result) {
// handle .completed and .willCompleteAfterReboot
}

Code Block swift
func request(_ request: OSSystemExtensionRequest, didFailWithError error: Error) {
// handle error
}


Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
Great, I'll use these, thanks!
I am also facing the same problem. Any progress on this?
I just checked in on the Feedback ID here and there are no new updates.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
System Extension Usage Description won't display
 
 
Q