当 iOS 设备进入“ sleep 模式”时,不幸的是,即使是已配置的 VPN 也会关闭。
想要为其 iPad 应用程序的客户必须使用 VPN 来确保安全,因此任何事情都必须通过 VPN 完成。该应用程序必须同步很多,但 iOS 设备可能会自行关闭 VPN。这就是为什么我每次需要互联网连接时都需要再次触发它(或保持它事件)。
你们有什么想法吗?
即使使用私有(private) API 也可以(应用只会分发给客户,而不是通过 App Store)。
或者使用像 Cisco AnyConnect 这样的任何应用程序都可以完成这项工作。
最佳答案
两个想法:
1) 您可以根据需要使用 VPN 创建配置文件。不过,这需要客户端证书身份验证。我的猜测是,如果某些应用程序将尝试在 sleep 模式下访问 VPN on demand 部分中定义的域或主机,VPN 将被打开。
更新:在某个时刻,Apple 因 VPN on demand 被起诉,所以我相信他们放弃了这个功能,并在返回后修改了它。最好阅读这篇适用于 iOS 7 的文章:http://support.apple.com/kb/ts4550
2) 我为这个问题提供的想法 ( iOS6 toggle WiFi on non-jailbroken device )。这是那里的文本副本:
我认为查看 SystemConfiguration.framework 很有意义。
它有一组 API 来处理不同的连接接口(interface),定义如下:http://developer.apple.com/library/mac/#documentation/Networking/Reference/SCNetworkConfiguration/Reference/reference.html
这是私有(private) API。
更新:我相信 SystemConfiguration 发生了一些变化,Apple 加强了围绕该框架的安全性。
3) Apple 可能会授予某些应用程序额外的权利,因此它们可以构建其他应用程序无法构建的功能。例如,VPN 客户端公司(如思科)获得了特殊权利来构建在 iOS 中称为“VPN 插件”的东西,这实际上是 VPN 客户端。
关于ios - 如何从 iOS 应用程序打开 VPN? (私有(private) API 可以),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14940767/