startVPNTunnel() を呼び出してから、PacketTunnelProvider クラスで、エラーが発生して completionBlock を実行します。startVPNTunnel() の呼び出しは try-catch ブロック内にありますが、キャッチするものがないようです。接続が成功したかどうかをユーザーに警告したいだけです。他の誰かがそれらのエラーをキャッチできましたか?
関連するコードは非常に単純です。
do {
try vpnManager!.connection.startVPNTunnel()
}
catch {
NSLog("roee: Failed to start vpn: \(error)")
}
そして、PacketTunnelProvider 内:
let error = NSError(domain: NEVPNErrorDomain, code: NEVPNError.ConfigurationInvalid.rawValue, userInfo: nil)
PacketTunnelProvider.pendingStartCompletionHandler!(error)
PacketTunnelProvider.pendingStartCompletionHandler = nil