我正在开发这个应用程序,该应用程序使用下面的代码成功实现了使用 NEHotspotConfigurationManager 连接到 Wifi 网络。
- (void)joinWifiWithCredentials:(NSString * const)SSID passphrase:(NSString * const)passphrase completion:(void (^)(CMNNetworkWifiState, NSError * _Nullable))completion {
NEHotspotConfiguration *configuration = [[NEHotspotConfiguration alloc] initWithSSID:SSID passphrase:passphrase isWEP:NO];
configuration.joinOnce = NO;
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
[self onFinishedJoiningWifi:SSID error:error completion:completion];
}];
}
这在需要 SSID/密码对才能访问的 Wifi 上非常有效。
但它不适用于位于强制门户后面的网络。我被指向 [NEHotspotHelper registerWithOptions] 的方向,以便能够连接到强制门户,但没有 HotspotHelper 权利。
我想知道这是否是这样做的唯一方法。
本质上,我希望能够从应用程序中触发与我尝试从 iOS 设置或 Safari 中连接到 Wifi 相同的行为。当我点击“连接到 Wifi”按钮时,理想情况下它会尝试连接并触发 captive.apple.com 门户页面,在此我可以在返回应用程序之前继续登录并连接到 Wifi。
我能否就如何最好地进行一些建议/指示?
非常感谢您的所有回复。