网络扩展授权,如何启用?

Network Extension entitlement, how to enable it?

我需要在应用程序中使用网络扩展功能,尤其是使用代理功能。 doc 表示:

除非您使用 NEHotspotHelper class,您无需从 Apple 获得授权即可使用网络扩展 classes.但是,您仍然需要通过开发人员门户启用网络扩展授权。要请求使用 NEHotspotHelper class 的权利,请访问 https://developer.apple.com/contact/network-extension.

我访问了开发人员门户,但找不到如何启用网络扩展权利。是因为我的角色是"admin"而不是"team agent"吗?或者谁能​​告诉我如何启用该权利?

在 Apple 的开发门户上编辑您的 App ID 并查找网络扩展 capability/service。您还需要个人 VPN 才能在您的应用中创建和管理配置。

网络扩展选项是新的。我不确定它是什么时候出现的,也许是最近六个月?它曾经是你必须为它请求许可并且它会显示在配置文件权利下,但现在 Apple 向所有人开放它。

您可能还需要将此添加到您的权利文件中。至少你曾经 - 我不认为新方法需要这个:

<key>com.apple.developer.networking.networkextension</key>
<array> 
  <string>app-proxy-provider</string> 
  <string>content-filter-provider</string> 
  <string>packet-tunnel-provider</string>
</array>

由于xcode8.1的文档混乱,功能缺失,我花了整整一周的时间才找到解决方案。

  1. 确保你注册了苹果开发者计划(它不是免费的,你需要每年支付 100 美元)
  2. 转到https://developer.apple.com/account/ios/identifier/bundle
  3. Select 标识符 => 应用 ID
  4. 点击右边你的应用程序(如果没有,你可以用xcode创建一个),
  5. 单击编辑按钮,选中网络扩展复选框

注意 1:自 2016 年 11 月 10 日起,您不需要苹果授权即可使用网络扩展

注意 2:如果您使用的是 Hotspot Helper,请转至 https://developer.apple.com/contact/network-extension/

如果您使用的是 VPN 管理器,只需使用 xcode 项目配置的功能菜单。

使用 Xcode 9 可以更轻松地在 Xcode.

中添加网络扩展权利
  1. 如果您之前没有添加,请从 Preferences -> Account 将您的开发者帐户添加到 Xcode。
  2. Select General 选项卡从您的 app target 然后设置您的开发者帐户详细信息。

  1. 从您的应用目标 select Capabilities 选项卡和 select Network Extensions 的右侧切换。然后 select 您将要使用的功能。

  1. 然后检查您的 YOUR_PROJECT_NAME.entitlements plist 文件。您 select 编辑的功能应该在 Network Extensions 列表中。

  2. 最后一步,如果一切正常,请从开发人员门户检查您的 AppId。