Ios 调用NehostThothelper.register不会返回

Ios 调用NehostThothelper.register不会返回,ios,wifi,networkextension,nehotspothelper,Ios,Wifi,Networkextension,Nehotspothelper,我正在开发一款iOS应用程序,它需要自动连接到WiFi网络。我们已经向苹果公司申请了NehostThathelper延期,该延期已获批准 现在我正在尝试自动连接到周围的WiFi网络。但是对方法nehostothelper.register的调用永远不会返回。我已经在应用程序的授权文件中添加了授权com.apple.developer.networking.HotspotHelper,并且正在使用一个新创建的配置文件,其中启用了上述授权。努力让它从上周开始工作。看起来很小,我发现很难抓住。请帮忙

我正在开发一款iOS应用程序,它需要自动连接到WiFi网络。我们已经向苹果公司申请了NehostThathelper延期,该延期已获批准

现在我正在尝试自动连接到周围的WiFi网络。但是对方法nehostothelper.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中输入,助手仅在屏幕中输入时执行,我也尝试了自动连接,但用户需要在第一时间选择要连接的网络。 如果用户选择连接网络一次,下次可能会自动连接,因为可能会进入命令维护

请参阅更多: