对NEHotspotHelper.register的调用永远不会返回

我正在开发一个iOS应用程序,它需要自动连接到WiFi网络。 我们曾要求获得Apple批准的NEHotspotHelper扩展程序。

现在我正试图自动连接到周围的WiFi网络。 但是对方法NEHotspotHelper.register的调用永远不会返回。 我已在应用程序的授权文件中添加了权利com.apple.developer.networking.HotspotHelper ,并且还使用了新创建的配置文件,其中启用了所述授权。 试着从上周开始工作。 看起来像我发现很难捕捉的小东西。 请帮忙。

以下是我的代码

if let strWiFi = UserDefaults.standard.value(forKey:"WiFiSSID") as? String { let queue = DispatchQueue(label: "com.mycompany.myapp") NEHotspotHelper.register(options: nil, queue: queue, handler: {(_ cmd: NEHotspotHelperCommand) -> Void in if cmd.commandType == .evaluate || cmd.commandType == .filterScanList { var hotspot:NEHotspotNetwork? for network: NEHotspotNetwork in cmd.networkList! { print("network name:\(network.ssid)") if (network.ssid == strWiFi) { network.setConfidence(.high) let strPassword = UserDefaults.standard.value(forKey:"WiFiPassword") as? String network.setPassword(strPassword!) hotspot = network } } let response = cmd.createResponse(.success) if(hotspot != nil) { response.setNetwork(hotspot!) } response.deliver() } }) 

任何帮助都非常感谢!

编辑:现在,当我尝试断开连接然后重新连接回WiFi时,它注册成功但只返回当前连接网络的详细信息。 我需要所有WiFi网络的详细信息。

需要进入设置 – > Wi-fi,只有在屏幕输入时才执行帮助,我也试过自动连接,但用户需要在第一时间选择网络连接。 如果用户选择连接网络一次,下次可以自动连接,因为可以输入命令Maintain。

查看更多: https : //forums.developer.apple.com/message/138756#138756