iOS13:通过 NEHotspotConfiguration 连接的网络在几秒后断开
iOS 13: Network connected via NEHotspotConfiguration disconnects after a few seconds
我在为 React 本机应用程序开发的本机模块中使用 NEHotspotConfigurationManager 来连接到公开开放 wifi 热点的设备。在较旧的 iOS 版本(iOS 12 及更低版本)中,它工作正常,但在 iOS 13 中,设备在连接几秒钟后断开连接。
这是我的本地方法,我使用 joinOnce
因为根据 docs:
它是有意义的
NEHotspotConfiguration* configuration = [[NEHotspotConfiguration alloc] initWithSSID:ssid];
configuration.joinOnce = true;
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
if (error != nil) {
reject(ERR_HOTSPOT_CONFIGURATION, ERR_HOTSPOT_CONFIGURATION, error);
} else {
resolve(nil);
}
}];
保持连接更长时间的正确方法是什么?这是 intended/documented 对 iOS 13 的更改吗?这是一个错误吗?
此外,在 Android 中,如果热点没有互联网连接,系统会自动切换到移动网络。这是 iOS 中的一些类似政策吗?我连接的设备不提供互联网访问
这是最新 iOS/iPadOS 中的错误,与我的报告类似:
我已经向 Apple 报告了它,但尚未解决,并且可能不会在 iOS 13 版本(9 月 19 日)之前解决。
解决方法是使用 joinOnce = false
,但在这种情况下,如果未检测到互联网连接,系统可能会提示用户切换到蜂窝网络。用户不会在后台自动切换,但切换到手机是首选选项。
我在为 React 本机应用程序开发的本机模块中使用 NEHotspotConfigurationManager 来连接到公开开放 wifi 热点的设备。在较旧的 iOS 版本(iOS 12 及更低版本)中,它工作正常,但在 iOS 13 中,设备在连接几秒钟后断开连接。
这是我的本地方法,我使用 joinOnce
因为根据 docs:
NEHotspotConfiguration* configuration = [[NEHotspotConfiguration alloc] initWithSSID:ssid];
configuration.joinOnce = true;
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
if (error != nil) {
reject(ERR_HOTSPOT_CONFIGURATION, ERR_HOTSPOT_CONFIGURATION, error);
} else {
resolve(nil);
}
}];
保持连接更长时间的正确方法是什么?这是 intended/documented 对 iOS 13 的更改吗?这是一个错误吗?
此外,在 Android 中,如果热点没有互联网连接,系统会自动切换到移动网络。这是 iOS 中的一些类似政策吗?我连接的设备不提供互联网访问
这是最新 iOS/iPadOS 中的错误,与我的报告类似:
我已经向 Apple 报告了它,但尚未解决,并且可能不会在 iOS 13 版本(9 月 19 日)之前解决。
解决方法是使用 joinOnce = false
,但在这种情况下,如果未检测到互联网连接,系统可能会提示用户切换到蜂窝网络。用户不会在后台自动切换,但切换到手机是首选选项。