Contents

Network Extensions Entitlement

The APIs an app can use to customize networking features.

Possible Values

dns-proxy

The APIs you use to proxy DNS queries.

app-proxy-provider

The APIs you use to proxy TCP and UDP connections.

content-filter-provider

The filter APIs you use to allow or deny network connections created by other apps on the system.

packet-tunnel-provider

The APIs you use to tunnel IP packets to a remote network using any custom tunneling protocol.

dns-proxy-systemextension

The APIs you use to proxy DNS queries, when signed with a Developer ID profile.

app-proxy-provider-systemextension

The APIs you use to proxy TCP and UDP connections, when signed with a Developer ID profile.

content-filter-provider-systemextension

The filter APIs you use to allow or deny network connections created by other apps on the system, when signed with a Developer ID profile.

packet-tunnel-provider-systemextension

The APIs you use to tunnel IP packets to a remote network using any custom tunneling protocol, when signed with a Developer ID profile.

dns-settings

The APIs you use to create and manage a system-wide DNS configuration.

app-push-provider

The APIs you use for providing functionality similar to Apple Push Notification Service when access to the wider internet is unavailable.

relay

The APIs you use to relay TCP and UDP connections, when signed with a Developer ID profile.

url-filter-provider

The APIs you use to create and manage URL filters.

Discussion

To add this entitlement to an App Store app, enable the Network Extensions capability in Xcode.

To add this entitlement to a macOS app distributed outside of the Mac App Store, perform the following steps:

  1. In the Certificates, Identifiers and Profiles section of the developer site, enable the Network Extension capability for your Developer ID–signed app. Generate a new provisioning profile and download it.

  2. On your Mac, drag the downloaded provisioning profile to Xcode to install it.

  3. In your Xcode project, enable manual signing and select the provisioning profile downloaded earlier and its associated certificate.

  4. Update the project’s entitlements.plist to include the com.apple.developer.networking.networkextension key and the values of the entitlement.

See Also

Networking