I'm using NEHotspotConfigurationManager
with on iOS 11 iPhone
to connect to specific Wi-Fi spot and then disconnect from it.
Here is the code:
if (@available(iOS 11.0, *)) {
NEHotspotConfiguration *configuration = [[NEHotspotConfiguration
alloc] initWithSSID:self.specififcWiFiSSID passphrase:self.specififcWiFiPassword isWEP:NO];
configuration.joinOnce = YES;
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
NSLog(@"Error : %@",error.description);
}];
} else {
[Router showOfflineMessage:message];
}
I used applyConfiguration and everything was fine, every time I want to apply WiFi configuration, an alert appears that prompts a user to connect specific network, but nothing appears now and I receiving this error in completionHanlder:
NEHotspotConfigurationErrorDomain Code=8 "internal error."
I'm using remove configuration later in code, but it seems not work as well:
[[NEHotspotConfigurationManager sharedManager] removeConfigurationForSSID:self.specififcWiFiSSID];
Question is: what happened? Why it stopped prompts me to join WiFi network, and also what does this error mean?
UPDATED : It seems it was a bug with iOS itself, restart device could help. Currently after updates all works.
I had the same issue. Now I use the next logic: Before call
I check whether this configuration was applied earlier, and if yes - remove it.
For me it works on iOS 12.1.4.