NEHotspotConfigurationManager在iOS 11

时间:2018-02-09 21:55:26

标签: ios nativescript

我正在尝试将我的移动应用程序连接到Wifi网络(用于配置目的)。这应该是从iOS 11到NEHotspotConfiguration& NEHotspotConfigurationManager课程。

问题是我一直收到内部错误(错误代码8)并且我没有得到用户提示要求获得连接到wifi网络的权限。我已经在Xcode中设置了NEHotspotConfigurationManager类所需的Hotspot Configuration功能。另外值得一提的是,我只在真实设备上进行测试,因为iOS模拟器不支持wifi。

虽然我使用的是NativeScript框架,但这似乎是底层iOS平台的一个问题。

到目前为止,我有这段代码:

this.wifiManager = NEHotspotConfigurationManager.new();
this.wifiConfig = NEHotspotConfiguration.alloc().initWithSSID(this.config.wifi.SSID);
this.wifiConfig.joinOnce = true;

this.wifiManager.applyConfigurationCompletionHandler(this.wifiConfig, (error: NSError) => {
  if (error && error.code!==NEHotspotConfigurationError.AlreadyAssociated) {
    console.log(`wifiManager.applyConfigurationCompletionHandler error code ${error.code}: ${error.localizedDescription}`);
  } else {
    console.log(`wifiManager.applyConfigurationCompletionHandler success!`);
  }
});

提前致谢!

P.S。这个post表明它可能只是设备本身的一个问题,并且设备重启应解决问题,但对我来说情况并非如此

2 个答案:

答案 0 :(得分:2)

我刚刚尝试了您的代码,它的工作原理完全像这样。我也收到内部错误代码8,然后启用了热点配置功能并将其部署到我的iOS 11设备。它立即显示所需的对话框。

这是我完整的代码:

constructor() {
    let configManager = NEHotspotConfigurationManager.new();
    let config = NEHotspotConfiguration.alloc().initWithSSID('Guest');

    config.joinOnce = true;

    configManager.applyConfigurationCompletionHandler(config, (error: NSError) => {
        if (error && error.code !== NEHotspotConfigurationError.AlreadyAssociated) {
            console.log(`wifiManager.applyConfigurationCompletionHandler error code ${error.code}: ${error.localizedDescription}`);
        } else {
            console.log(`wifiManager.applyConfigurationCompletionHandler success!`);
        }
    });
}

答案 1 :(得分:0)

以防将来有人偶然发现这个问题

TL; DR iOS中的错误-希望已在12.2中修复-在较旧的iOS版本上重新启动iPhone

尽管我们设置了正确的功能,但我们也遇到了这个问题。在我们重新启动手机之前,将引发内部错误。直到今天,我们还不知道何时以及如何达到这种破碎状态。

幸运的是,在Apple Developer论坛上有一个讨论,@eskimo回答了:

  

eskimo 2018年11月27日下午12:59:

     

伙计们对此深有感触,所以我想我要发布更新。如   上面其他人已经指出,我们有一个跟踪此问题的错误(r。   42919071)。目前,我无法提供有关何时   将被修复。而且,我没有任何可靠的解决方法   建议。

我应该强调指出,此错误的症状一直存在,直到重新启动设备为止。如果您暂时遇到此错误-即收到错误,然后以后无需重新启动设备即可正常工作

看来,此错误已在iOS 12.2中修复

  

〜eskimo 2019年2月21日上午9:24:

     

如果您过去曾遇到此问题,不胜感激,请您重新测试   最新的iOS 12.2 Beta种子。我们在那里进行了一些更改以进行修复   这个问题,很高兴知道他们是否按预期工作。

来源:https://forums.developer.apple.com/thread/107851