¿Cómo detectar si la configuration de NEVPNManager está instalada?

Estoy trabajando con VPN en iOS usando el framework NetworkExtension. Puedo instalar la configuration y hacer la connection. Mi pregunta es si hay una forma de detectar si la configuration VPN todavía está instalada o si el usuario no ha instalado la configuration.

No estoy necesariamente buscando una notificación ni nada en segundo plano, pero lo que estoy buscando es algún método / solución alternativa que hago cuando la aplicación se pone en primer plano.

Estoy usando la authentication de certificates con un certificate emitido por una entidad emisora ​​de certificates intermedia y he intentado 'evaluar el método de confianza' desde aquí: comtesting si un perfil de configuration está instalado en iOS

Esto no funcionó para mí. Siempre llego a ser de confianza. También he intentado esto:

if([NEVPNManager shanetworkingManager].protocol){ //installed }else{ //not installed } 

Pero esto tampoco funciona. Después de la desinstallation, el protocolo sigue siendo válido. Si salgo y vuelvo a iniciar la aplicación, el protocolo no es válido.

Cualquier sugerencia es apreciada.

Solutions Collecting From Web of "¿Cómo detectar si la configuration de NEVPNManager está instalada?"

Puede llegar un poco tarde. Pero me he encontrado con el mismo problema. Sin embargo, su enfoque me llevó en la dirección correcta. Debe cargarlo en el controller de finalización de: loadFromPreferencesWithCompletionHandler

El uso propper, en mi opinión, de comprobar si hay un perfil instalado:

  manager = [NEVPNManager shanetworkingManager]; [manager loadFromPreferencesWithCompletionHandler:^(NSError *error) { if (manager.protocol == nil) { NSLog(@"Profile is not installed, you might want to install a profile"); } else { NSLog(@"Profile is installed. It looks like this: %@",manager.protocol); } }]; 

Puedes intentar seguir

 if ([[[NEVPNManager shanetworkingManager] connection] status] == NEVPNStatusInvalid) { //... }