6

当 iOS 设备进入“睡眠模式”时,不幸的是,即使是配置好的 VPN 也会被关闭。

想要为他的 iPad 安装应用程序的客户必须使用 VPN 来确保安全,因此任何事情都必须通过 VPN 完成。该应用程序必须同步很多,但iOS设备可能会自行关闭VPN。这就是为什么我每次需要互联网连接(或保持活动状态)时都需要再次触发它。

大家有什么想法吗?

即使使用私有 API 也可以(该应用程序只会分发给客户,而不是通过 App Store)。

或者使用Cisco AnyConnect之类的任何应用程序都可以完成这项工作。

4

2 回答 2

7

两个想法:

1) 您可以根据需要使用 VPN 创建配置文件。这需要客户端证书身份验证。我的猜测是,如果某些应用程序将尝试在睡眠模式下访问 VPN on demand 部分中定义的域或主机,VPN 将被打开。

更新:在某些时候,Apple 因按需 VPN 被起诉,所以我相信他们放弃了此功能,并在将其退回后进行了修改。为 iOS 7 阅读这篇文章是个好主意:http: //support.apple.com/kb/ts4550

2)我为这个问题提供的想法(iOS6在非越狱设备上切换WiFi)。这是那里的文本副本:

我认为看看 SystemConfiguration.framework 是有意义的。

它有一组 API 可用于不同的连接接口,这些接口在此处定义:http: //developer.apple.com/library/mac/#documentation/Networking/Reference/SCNetworkConfiguration/Reference/reference.html

这是私有 API。

更新:我相信 SystemConfiguration 有一些变化,Apple 加强了围绕这个框架的安全性。

3) Apple 可能会授予某些应用程序额外的权利,因此它们可以构建其他应用程序无法构建的功能。例如,VPN 客户端公司(如 Cisco)获得了构建 iOS 中称为“VPN 插件”的特殊权利,它本质上是 VPN 客户端。

于 2013-02-19T01:11:54.307 回答
0

现在可以使用 iOS 8 及更高版本中提供的 NetworkExtension 框架。如果您转到项目设置-> 功能,您将找到“个人 VPN”。通过打开它,您可以将框架添加到您的项目中。几乎没有官方文档,但您可以在此处查看 WWDC 视频https://developer.apple.com/videos/wwdc/2015/?id=717

于 2015-07-28T11:12:33.883 回答