iOS 13:通过NEHotspotConfiguration连接的网络在几秒钟后断开连接

时间:2019-09-11 17:40:05

标签: ios iphone ios13 networkextension

我在为React Native应用程序开发的本机模块中使用NEHotspotConfigurationManager连接到暴露了开放wifi热点的设备。在较旧的iOS版本(iOS 12及更低版本)中,它可以正常工作,但在iOS 13中,连接几秒钟后,设备将断开连接。

这是我的本机方法,根据docs,我使用joinOnce

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);
  }
}];

延长连接时间的正确方法是什么?这是iOS 13中有意/已记录的更改吗?是一个错误吗?

此外,在Android中,如果热点没有互联网连接,则系统会自动切换到移动网络。这是iOS中的一些类似政策吗?我连接的设备无法访问互联网

1 个答案:

答案 0 :(得分:4)

这是最新的iOS / iPadOS中的错误,类似于我的报告: iPadOS: Network connected via NEHotspotConfiguration disconnects after a while

我已将其报告给Apple,但尚未解决,很可能在iOS 13版本(9月19日)中无法解决。

解决方法是使用joinOnce = false,但是在这种情况下,如果未检测到Internet连接,则可能会提示用户切换到蜂窝电话。不会在后台自动切换用户,但将切换到蜂窝电话作为首选选项。