Network Extension entitlement, how to enable it?

Massimo picture Massimo · Oct 27, 2016 · Viewed 15.7k times · Source

I need to use Network Extension features in an app, particularly to use the Proxy features. The doc says:

Except when you use the NEHotspotHelper class, you do not need to obtain entitlements from Apple to use Network Extension classes. However, you still need to enable the Network Extension entitlement via the Developer portal. To request an entitlement to use the NEHotspotHelper class, visit https://developer.apple.com/contact/network-extension.

I went to the Developer portal, but I couldn't find how to enable the Network Extension entitlement. Is it because my role is "admin" rather than "team agent"? Or someone can tell me how to enable that entitlement?

Answer

Shaofei Cheng picture Shaofei Cheng · Nov 17, 2016

Due to the confused document and function missing of xcode 8.1, this cost me one whole week to find the solution.

  1. Make sure you enrolled apple developer program (it's not free, you need to pay $100 per year)
  2. Go to https://developer.apple.com/account/ios/identifier/bundle
  3. Select Identifiers => App IDs
  4. Click your app on the right(if there is no, you could create one with xcode),
  5. Click edit button, check the network-extension checkbox

NOTE1: Since November 10th 2016, you dont need entitlement from apple to use network-extension

NOTE2: If you are using Hotspot Helper, go to https://developer.apple.com/contact/network-extension/

If you are using VPN Manager, simply use capability menu of xcode project config.