我在为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);
}
}];保持连接更长时间的正确方法是什么?这是iOS 13中的预期更改/文档更改吗?这是个bug吗?
此外,在Android中,如果热点没有互联网连接,系统会自动切换到移动网络。这是iOS中的一些类似策略吗?我正在连接的设备不提供互联网访问
发布于 2019-09-17 18:51:11
这是最新的iOS/iPadOS中的一个错误,类似于我的报告:iPadOS: Network connected via NEHotspotConfiguration disconnects after a while
我已经向苹果报告了这个问题,但这个问题还没有解决,而且很可能不会在iOS 13发布之前(9月19日)得到解决。
解决方法是使用joinOnce = false,但在这种情况下,如果未检测到互联网连接,则可能会提示用户切换到蜂窝网络。用户不会在后台自动切换,但切换到蜂窝是首选选项。
https://stackoverflow.com/questions/57894269
复制相似问题