NEVPNManager 按需回调
NEVPNManager on-demand callbacks
我有一个关于
的问题
loadPreferencesWithCompletitionHandler
和
savePreferencesWithCompletitionHandler
NEVPNManager
.
是否会调用此函数的块,例如,在建立按需连接时?
如果是,那么它会触发应用程序激活吗?
如果没有,那我在连接VPN之前需要做一些准备工作怎么办?
我可以在连接前设置某种回调吗?
没有。你误解了这个块的目的。
当适当的操作(加载或保存 vpn 配置)完成时调用它们,并为您提供 NSError 对象,以帮助理解操作是否成功。
到目前为止,正如我从官方文档和实验中发现的那样 - 没有官方的方法来实现你想要做什么(连接前设置回调)。
但是,当您的应用处于活动状态时,您可以通过 NEVPNManager 订阅 NEVPNStatusDidChangeNotification
通知并检查连接状态:
[[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;
}
我有一个关于
的问题loadPreferencesWithCompletitionHandler
和
savePreferencesWithCompletitionHandler
NEVPNManager
.
是否会调用此函数的块,例如,在建立按需连接时?
如果是,那么它会触发应用程序激活吗?
如果没有,那我在连接VPN之前需要做一些准备工作怎么办?
我可以在连接前设置某种回调吗?
没有。你误解了这个块的目的。
当适当的操作(加载或保存 vpn 配置)完成时调用它们,并为您提供 NSError 对象,以帮助理解操作是否成功。
到目前为止,正如我从官方文档和实验中发现的那样 - 没有官方的方法来实现你想要做什么(连接前设置回调)。
但是,当您的应用处于活动状态时,您可以通过 NEVPNManager 订阅 NEVPNStatusDidChangeNotification
通知并检查连接状态:
[[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;
}