について質問があります
loadPreferencesWithCompletitionHandler
と
savePreferencesWithCompletitionHandler
のNEVPNManager
。
この関数のブロックは、たとえばオンデマンド接続の確立時に呼び出されますか?
はいの場合、アプリがアクティブになるようにトリガーしますか?
いいえの場合、VPN 接続の前に準備が必要な場合はどうすればよいですか?
接続前に何らかのコールバックを設定できますか?
について質問があります
loadPreferencesWithCompletitionHandler
と
savePreferencesWithCompletitionHandler
のNEVPNManager
。
この関数のブロックは、たとえばオンデマンド接続の確立時に呼び出されますか?
はいの場合、アプリがアクティブになるようにトリガーしますか?
いいえの場合、VPN 接続の前に準備が必要な場合はどうすればよいですか?
接続前に何らかのコールバックを設定できますか?
いいえ。このブロックの目的を誤解しています。
これらは、適切なアクション (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;
}