Я пытаюсь создать ios vpn-клиент с помощью Tunnelkit. Я следую этому руководству.
https://github.com/passepartoutvpn/tunnelkit
я могу скомпилировать и запустить приложение, но когда я пытаюсь подключиться, приложение вылетает и бросает.
Тема 1: Неустранимая ошибка: «попробуйте!» выражение неожиданно вызвало ошибку: TunnelKit.OpenVPNTunnelProvider.ProviderConfigurationError.credentials (подробности: keychain.set ())
Всем, кто уже настроил туннельный комплект OpenVPN, пожалуйста, помогите решить эту проблему.
func connect() {
let server = textServer.text!
let domain = textDomain.text!
let hostname = ((domain == "") ? server : [server, domain].joined(separator: "."))
let port = UInt16(textPort.text!)!
let socketType: SocketType = switchTCP.isOn ? .tcp : .udp
let credentials = OpenVPN.Credentials(textUsername.text!, textPassword.text!)
let cfg = Configuration.make(hostname: hostname, port: port, socketType: socketType)
let proto = try! cfg.generatedTunnelProtocol(
withBundleIdentifier: tunnelIdentifier,
appGroup: appGroup,
credentials: credentials
)
let neCfg = NetworkExtensionVPNConfiguration(title: "new title", protocolConfiguration: proto, onDemandRules: [])
vpn.reconnect(configuration: neCfg) { (error) in
if let error = error {
print("configure error: \(error)")
return
}
}
}