Ios NEVPNManager按需回调
我有一个关于你的问题 LoadPreferenceswithCompletionHandler 及 SavePreferenceswithCompletionHandler 我是经理 例如,在建立按需连接时是否调用此函数的块 如果是,那么它是否会触发应用程序激活 如果没有,那么如果我需要在VPN连接之前做一些准备,我该怎么办Ios NEVPNManager按需回调,ios,ios8,callback,nevpnmanager,Ios,Ios8,Callback,Nevpnmanager,我有一个关于你的问题 LoadPreferenceswithCompletionHandler 及 SavePreferenceswithCompletionHandler 我是经理 例如,在建立按需连接时是否调用此函数的块 如果是,那么它是否会触发应用程序激活 如果没有,那么如果我需要在VPN连接之前做一些准备,我该怎么办 我可以在连接之前设置某种回调吗?不可以。你误解了这个街区的用途 当适当的操作加载或保存vpn配置完成并向您提供NSError对象时,将调用它们,以帮助理解操作是否成功 到目
我可以在连接之前设置某种回调吗?不可以。你误解了这个街区的用途 当适当的操作加载或保存vpn配置完成并向您提供NSError对象时,将调用它们,以帮助理解操作是否成功 到目前为止,正如我从官方文档和实验中发现的,并没有正式的方法来实现,在连接之前设置回调需要做什么 但是,当您的应用处于活动状态时,您可以订阅NEVPNStatusDidChangeNotification通知并通过NEVPNManager检查连接状态:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangeVpnStatus) name:NEVPNStatusDidChangeNotification object:nil];
和didChangeVpnStatus方法:
NEVPNManager * vpnManager = [NEVPNManager sharedManager];
switch (vpnManager.connectionStatus) {
case NEVPNStatusInvalid:
break;
case NEVPNStatusDisconnected:
break;
case NEVPNStatusConnecting:
break;
case NEVPNStatusConnected:
break;
case NEVPNStatusReasserting:
break;
case NEVPNStatusDisconnecting:
break;
}
没有。你误解了这个街区的用途 当适当的操作加载或保存vpn配置完成并向您提供NSError对象时,将调用它们,以帮助理解操作是否成功 到目前为止,正如我从官方文档和实验中发现的,并没有正式的方法来实现,在连接之前设置回调需要做什么 但是,当您的应用处于活动状态时,您可以订阅NEVPNStatusDidChangeNotification通知并通过NEVPNManager检查连接状态:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangeVpnStatus) name:NEVPNStatusDidChangeNotification object:nil];
和didChangeVpnStatus方法:
NEVPNManager * vpnManager = [NEVPNManager sharedManager];
switch (vpnManager.connectionStatus) {
case NEVPNStatusInvalid:
break;
case NEVPNStatusDisconnected:
break;
case NEVPNStatusConnecting:
break;
case NEVPNStatusConnected:
break;
case NEVPNStatusReasserting:
break;
case NEVPNStatusDisconnecting:
break;
}
谢谢你的回答!但是你可能知道一些私人api吗?事实上,我在应用程序的线程中有一个安全隧道,我想通过它转发vpn连接。对不起,我正在处理应用程序,这些应用程序会上载到AppStore,所以私人api不是一个选项,我还没有深入研究它们。至于转发vpn连接,我认为,如果有可能的话——这只可能在越狱设备上实现,因为NEVPNManager API只是一个“控制开关”,实际的vpn堆栈存在于系统应用程序中。谢谢你的回答!但是你可能知道一些私人api吗?事实上,我在应用程序的线程中有一个安全隧道,我想通过它转发vpn连接。对不起,我正在处理应用程序,这些应用程序会上载到AppStore,所以私人api不是一个选项,我还没有深入研究它们。至于转发vpn连接,我认为,如果可能的话——这只可能在越狱设备上实现,因为NEVPNManager API只是一个“控制开关”,实际的vpn堆栈存储在系统应用程序中。