当iOS设备进入“睡眠模式”时,不幸的是,即使配置的VPN也会关闭。
希望iPad版应用的客户使用VPN来提高安全性,因此任何事情都必须通过VPN完成。该应用程序必须同步很多,但iOS设备可能会自行关闭VPN。这就是为什么我只需要在每次需要互联网连接时再次触发它(或保持活着)。
你们这些人有什么想法吗?
即使使用私有API也可以(应用程序只会分发给客户,而不是通过App Store)。
或使用 Cisco AnyConnect 等任何应用都可以胜任。
答案 0 :(得分:7)
两个想法:
1)您可以根据需要使用VPN创建配置文件。这需要客户端证书身份验证。我的猜测是,如果某个应用程序尝试在睡眠模式下访问VPN on Demand部分中定义的域或主机,VPN将会打开。
更新:在某些时候,苹果公司被要求对VPN进行起诉,所以我相信他们放弃了这个功能,并在退回之后进行了修改。阅读iOS 7的这篇文章是个好主意:http://support.apple.com/kb/ts4550
2)我为这个问题提出的想法(iOS6 toggle WiFi on non-jailbroken device)。这是来自那里的文本副本:
我认为查看SystemConfiguration.framework是有意义的。
它有一组API可以使用不同的连接接口,这些接口在这里定义:http://developer.apple.com/library/mac/#documentation/Networking/Reference/SCNetworkConfiguration/Reference/reference.html
这是私有API。
更新:我相信SystemConfiguration有一些变化,Apple加强了围绕这个框架的安全性。
3)Apple可能会向某些应用程序授予其他权利,因此他们可以构建其他应用程序无法构建的功能。例如,VPN客户端公司(如思科)获得了特殊权利,可以在iOS中构建名为“VPN插件”的内容,而VPN插件本质上就是VPN客户端。答案 1 :(得分:0)
现在可以使用iOS 8及更高版本中提供的NetworkExtension框架。 如果你去项目设置 - >功能,你会发现“个人VPN”。通过打开它,您可以将框架添加到您的项目中。 几乎没有官方文档,但您可以在https://developer.apple.com/videos/wwdc/2015/?id=717
查看WWDC视频