Hi There,
We want to disable on-demand feature when the packet tunnel provider is stopped, so we implemented the logic like this:
- (void)stopTunnelWithReason:(NEProviderStopReason)reason
completionHandler:(void (^)(void))completionHandler {
[NETunnelProviderManager
loadAllFromPreferencesWithCompletionHandler:^(
NSArray *managers, NSError *error) {
NETunnelProviderManager *manager =
managers.firstObject;
[manager setOnDemandEnabled:NO];
[manager
saveToPreferencesWithCompletionHandler:
^(NSError *saveError) {
completionHandler();
}];
}];
}
However, when the user turns off VPN from the Settings app, the completion handler in the loadAllFromPreferencesWithCompletionHandler
is not executed. Do you have an idea why is that?