¿Cómo activar VPN desde la aplicación iOS? (Las API privadas están bien)

Cuando un dispositivo iOS entra en el "modo de suspensión", incluso una VPN configurada está, desafortunadamente, apagada.

Un cliente que quiere una aplicación para su iPad debe usar VPN para la security, por lo que cualquier cosa debe hacerse a través de VPN. La aplicación debe sincronizar mucho, pero el dispositivo iOS podría apagar la VPN por sí mismo. Es por eso que solo necesito activarlo nuevamente cada vez que necesito una connection a Internet (o mantenerla con vida ).

¿Alguno de ustedes tiene algo en mente?

Incluso usar Private API está bien (la aplicación solo se distribuirá a un cliente, no a través de App Store).

O usar cualquier aplicación como Cisco AnyConnect haría el trabajo.

Dos ideas:

1) Puede crear un perfil de configuration con VPN bajo demanda. Sin embargo, esto requiere la authentication certificat del cliente. Supongo que si alguna aplicación intentará acceder a los dominios o hosts definidos en la sección VPN on demand en el modo de suspensión, se activará la VPN.

Actualización : en algún momento, Apple fue demandado por VPN a pedido, por lo que creo que abandonaron esta function y luego la volvieron a modificar. Es buena idea leer este artículo para iOS 7: http://support.apple.com/kb/ts4550

2) Idea que ofrecí para esta pregunta ( iOS6 alternar Wi-Fi en un dispositivo sin jailbreak ). Aquí está la copy de text desde allí:

Creo que tiene sentido mirar SystemConfiguration.framework.

Tiene un set de API para trabajar con diferentes interfaces de connection, que se definen aquí: http://developer.apple.com/library/mac/#documentation/Networking/Reference/SCNetworkConfiguration/Reference/reference.html

Esta es una API privada.

Actualización : creo que hubo algunos cambios en SystemConfiguration y Apple reforzó la security en torno a este marco.

3) Apple puede conceder a algunas aplicaciones derechos adicionales, para que puedan crear una funcionalidad que ninguna otra aplicación puede crear. Como ejemplo, las compañías cliente VPN (como Cisco) obtuvieron derechos especiales para crear lo que en iOS se llama "complementos VPN", que es esencialmente un cliente VPN.

Ahora es posible hacerlo con el framework NetworkExtension disponible en iOS 8 y versiones posteriores. Si vas a la configuration del proyecto-> capacidades, encontrarás "VPN personal". Al encenderlo, obtendrá el marco agregado a su proyecto. Hay poca o ninguna documentation oficial, pero puede ver el video de WWDC aquí https://developer.apple.com/videos/wwdc/2015/?id=717