Xcode saying Network Extension capability is not enabled when it is

applicationscode-signingNetworkvpnxcode

I have been having a lot of issues for the last two weeks trying to sign and distribute a 3rd party MacOS app. I am unable to sign an app with Xcode properly because Xcode is saying that I do not have the Network Extension entitlement when I have it enabled both in Xcode and in the Apple Developer portal.

I am not a paid Apple Developer, but I am part of a team and I have the correct keys from the creator of the team (who is a paid developer). I am able to sign other apps and distribute them using the codesign tool but as soon as I try to sign the app with entitlements I run into issues.

Sending the app to other people results in it exiting with a Killed 9 or a SIGTERM which I assume is indicating that there is something going wrong in the signing.

This is the error I am getting when selecting the provisioning profile that I created in the developer portal

enter image description here

In Xcode I have it enabled though

enter image description here

And it is also enabled in the developer portal

enter image description here

Even with that I am getting this issue when attempting to sign it with that provisioning profile

enter image description here

So I am very confused. I am using the correct bundle ID, I have set everything up correctly as far as I can tell and I am still unable to sign and distribute this application. I am sure that there is something simple that I am missing here but I have no idea what that might be.

Best Answer

For anyone wanting to use Network Extensions in their macOS app:

Developer ID provisioning profiles actually don't support the Network Extensions entitlement. Development and App Store provisioning profiles on the other hand do support it. It's not well described in Xcode or the developer site (which show it as enabled). It's not until attempting to distribute an archive with the Developer ID provisioning profile that you will see that it is not included, or by running security cms -D -I Developer_ID.provisionprofile.

See question #8 in this Apple developer forums post: https://forums.developer.apple.com/thread/67613