Reputation: 1064
In my app I am trying to configure VPN settings in App load delegate. I am calling following method in my app delegate
- (void)configureVPN {
NEVPNManager *manager = [NEVPNManager sharedManager];
[manager loadFromPreferencesWithCompletionHandler:^(NSError * _Nullable loadError) {
if (loadError) {
NSLog(@"vpn setup error: %@", loadError);
} else {
[manager setOnDemandEnabled: YES];
NSMutableArray *rules = [[NSMutableArray alloc] init];
NEOnDemandRuleConnect *connectRule = [NEOnDemandRuleConnect new];
[rules addObject:connectRule];
[manager setOnDemandRules:rules];
[manager saveToPreferencesWithCompletionHandler:^(NSError * _Nullable saveError) {
if (saveError) {
NSLog(@"vpn setup error: %@", saveError);
} else {
NSLog(@"vpn config set");
NSError *connError;
[manager.connection startVPNTunnelAndReturnError:&connError];
if (connError) {
NSLog(@"Unable to connect to VPN: %@", connError);
} else {
NSLog(@"VPN connection established");
}
}
}];
}
}];
}
but I am getting error on manager loadFromPreferencesWithCompletionHandler
Error:
Failed to load the configuration: Error Domain=NEVPNErrorDomain Code=5 "permission denied" UserInfo={NSLocalizedDescription=permission denied}
I thought it was because of missing capabilities but Personal VPN
is enabled in capabilities.
Upvotes: 9
Views: 6594
Reputation: 1492
In my case, I had added the Capabilities correctly
, but an error is still reported
when I restart my iPhone
, then run the project, every thing work fine
Upvotes: 0
Reputation: 2543
Go to Xcode -> Project -> Targets -> Capabilities and
Enable VPN and Enable Network Extensions.
Upvotes: 17
Reputation: 157
To fix the issue, go to Xcode > Project > capabilities and enable personal VPN.
Upvotes: 0