Hi,
I have t developed vpn application using ipsec protocol but network extension return throwing error like Error Domain=NEVPNErrorDomain Code=1 "Missing protocol or protocol has invalid type" UserInfo={NSLocalizedDescription=Missing protocol or protocol has invalid type}
Same ipsec credentials using create manual vpn profile it's working in iPhone
My Code:
private func initVPNTunnelProviderManager() {
NETunnelProviderManager.loadAllFromPreferences { (savedManagers: [NETunnelProviderManager]?, error: Error?) in
if let error = error {
print(error)
}
if let savedManagers = savedManagers {
if savedManagers.count > 0 {
self.vpnManager = savedManagers[0]
}
}
self.vpnManager.loadFromPreferences(completionHandler: { (error:Error?) in
if let error = error {
print(error)
}
let df = NEVPNProtocolIPSec()
df.authenticationMethod = .sharedSecret
df.remoteIdentifier = "testuser"
let pwd = "empty".data(using: .utf8)
df.username = "user"
df.passwordReference = pwd
let shared = "TestV2".data(using: .utf8)
df.sharedSecretReference = shared
df.serverAddress = self.serverAddress
df.localIdentifier = "localVpn"
df.useExtendedAuthentication = true
df.disconnectOnSleep = true
self.vpnManager.protocolConfiguration = df
self.vpnManager.localizedDescription = "NEPacketTunnelVPNDemoConfig"
self.vpnManager.isEnabled = true
self.vpnManager.saveToPreferences(completionHandler: { (error:Error?) in
if let error = error {
print(error)
} else {
print("Save successfully")
}
})
self.VPNStatusDidChange(nil)
})
}
}