Я пытаюсь настроить настроенный туннель vpn
- (void) openTunnel{
[vpnManager loadFromPreferencesWithCompletionHandler:^(NSError *error){
if(error != nil){
NSLog(@"%@", error);
}else{
NSError *startError = nil;
[self->vpnManager.connection startVPNTunnelWithOptions:nil andReturnError:&startError];
if(startError != nil){
NSLog(@"viewcontroller: startError: %@", startError);
}else{
NSLog(@"Complete");
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveNotification:)
name:NEVPNStatusDidChangeNotification
object:nil];
}
}
}];}
startVPNTunnelWithOptions запускает настроенный туннель следующим образом
- (void)startTunnelWithOptions:(NSDictionary *)options completionHandler:(void (^)(NSError *error))completion{
NSLog(@"===> ");
NSError *error = nil;
vpnAdapter = [[OpenAdapter alloc] init];
vpnAdapter.delegate = self;
// get config
config = [[NSDictionary alloc] init];
NETunnelProviderProtocol *protocol = (NETunnelProviderProtocol *)self.protocolConfiguration;
config = protocol.providerConfiguration;
host = config[@"server"];
// Load config data
username = config[@"username"];
password = config[@"password"];
option = config[@"option"];
NSError *newError = [NSError errorWithDomain:VPNTunnelProviderErrorDomain
code:TunnelProviderErrorCodeInvalidConfiguration
userInfo:@{NSLocalizedDescriptionKey: @"Settings validation failed!"}];
if(option != nil){
[vpnAdapter connect:host user:username pass:password add:YES completionHandler:^(int success) {
if(success == 0)
{NSLog(@"packettunnel: newerror: %d", 0);
completion(error);}
else {
NSLog(@"packettunnel: newerror: %@", newError);
completion(newError);
}
}];
}else{
[vpnAdapter connect:host user:username pass:password add:NO completionHandler:^(int success) {
if(success == 0){
{NSLog(@"packettunnel: newerror: %d", 0);
completion(error);}
else
{
NSLog(@"packettunnel: newerror: %@", newError);
completion(newError);
}
}];
}
}
при тестировании с поддельными учетными данными (работает нормально с правильными), он должен печатать startError, но это не так. Я могу подтвердить, что startTunnelWithOptions фактически возвращает newError из NSLog, но каким-то образом startVPNTunnelWithOptions не возвращает никаких ошибок.
Кто-нибудь может помочь?
спасибо