1

我正在开发这个应用程序,该应用程序使用下面的代码成功实现了使用 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。

我能否就如何最好地进行一些建议/指示?

非常感谢您的所有回复。

4

0 回答 0