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,但在这种情况下,如果未检测到互联网连接,系统可能会提示用户切换到蜂窝网络。用户不会在后台自动切换,但切换到手机是首选选项。