7

我正在开发一个 iOS 7 应用程序,我想知道是否“手动”激活了“Per app VPN”功能(如位置服务,您可以选择哪个应用程序可以和不能)或者我可以设置它通过应用程序内的代码?

环顾网络,我发现关于它的信息很少,苹果公告也没有说清楚......我希望在用户第一次打开应用程序时提示用户进行VPN配置,然后,当他“外部”内部Wi-Fi,我会自动激活它...

4

2 回答 2

7

*注意:这是一个示例自定义有效负载。它需要修改以匹配您的 VPN 配置,并且受某些 VPN 提供商的支持。此示例使用 L2TP 连接类型。Per-App VPN 的新密钥是 VPNUUID 和 OnDemandMatchAppEnabled。

<dict>
    <key>PayloadDescription</key>
    <string>Configures VPN settings, including authentication.</string>
    <key>PayloadDisplayName</key>
    <string>VPN (VPN Configuration)</string>
    <key>PayloadIdentifier</key>
    <string>126b636d-38ce-4bb1-a211-5239e60bd4ab</string>
    <key>PayloadOrganization</key>
    <string></string>
    <key>PayloadType</key>
    <string>com.apple.vpn.managed.applayer</string>
    <key>PayloadUUID</key>
    <string>63e3f54a-e8bd-45fd-af18-5aadfed9dc9d</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>UserDefinedName</key>
    <string>VPN Configuration #12345</string>
    <key>VPNUUID</key>
    <string>b78ee624-442d-4997-a77f-dc8245109716</string>
    <key>OnDemandMatchAppEnabled</key>
    <string>True</string>
    <key>VPNType</key>
    <string>L2TP</string>
    <key>EAP</key>
    <dict />
    <key>IPv4</key>
    <dict>
      <key>OverridePrimary</key>
      <integer>0</integer>
    </dict>
    <key>PPP</key>
    <dict>
      <key>CommRemoteAddress</key>
      <string>ExampleServerHostname</string>
      <key>CCPEnabled</key>
      <integer>1</integer>
    </dict>
    <key>Proxies</key>
    <dict />
  </dict>

更多信息请访问:https ://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html

于 2013-10-23T16:25:09.830 回答
7

信息仍然有些粗略,但据我所知,到目前为止,VPN 供应商需要支持它,它将使用配置文件启用,例如通过 MDM。在配置文件中,您将像现在一样定义您的 VPN 配置,此外,您将指定哪些应用程序使用哪些 VPN 配置。应用程序根本不需要修改,(我假设)甚至都不知道它们正在被隧道化。我还不知道他们是否允许用户在没有配置配置文件的情况下自行配置。我不明白为什么不这样做,除了可能想让普通用户免受“企业”功能的影响。

我预计 Apple 将发布新版本的 iPhone 配置实用程序或 Apple Configurator,允许您设置所有这些。如果您可以访问他们的开发人员站点,则配置文件中的 XML 密钥信息会打开它,因此您可以在没有该工具的情况下自行制作配置文件,但如果没有 VPN 供应商支持,您将无法做到去做。我不知道目前是否有任何内置 VPN 支持它。

于 2013-10-03T16:24:05.307 回答