我正在使用NetworkExtension框架在iOS上使用VPN。我能够安装配置并建立连接。我的问题是,是否有方法可以检测VPN配置是否仍然安装,或者检测用户是否已卸载配置?
我不一定在后台寻找通知或任何内容,但我正在寻找的是我将应用程序带到前台时所做的一些方法/解决方法?
我使用证书身份验证和中间CA颁发的证书,并尝试评估信任'方法来自:Check if a configuration profile is installed on iOS
这对我不起作用。我总是被信任。我也试过这个:
if([NEVPNManager sharedManager].protocol){
//installed
}else{
//not installed
}
但这也行不通。卸载后,协议仍然有效。如果我退出并重新启动应用程序,则协议无效。
任何建议都表示赞赏。
答案 0 :(得分:1)
可能会有点晚。但我遇到了同样的问题。但是,你的方法让我朝着正确的方向前进。您应该在完成处理程序中加载它:loadFromPreferencesWithCompletionHandler
在我看来,使用者检查是否安装了配置文件:
manager = [NEVPNManager sharedManager];
[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);
}
}];
答案 1 :(得分:1)
您可以尝试以下
get-url