2

我想以编程方式为我的应用程序设置我的 wifi 热点密码,这样用户就不必去设置菜单检查他们的密码。

我已经在使用 NEHotspotNetwork,它设置了密码,但是在这里,我们需要设置连接到网络的设置菜单中已经存在的密码。

如果我可以从应用程序中获取我的 wifi 热点密码而无需越狱我的设备,这也很有帮助。

4

2 回答 2

0

使用NEHotspotNetwork函数注册可以设置密码

NEHotspotHelper.register(选项:选项,队列:队列){(cmd:NEHotspotHelperCommand)在

            if cmd.commandType == NEHotspotHelperCommandType.filterScanList {
                //Get all available hotspots
                var list: [NEHotspotNetwork] = cmd.networkList!
                //Figure out the hotspot you wish to connect to
                // let desiredNetwork : NEHotspotNetwork? = getBestScanResult(list)

                var hotspot = [NEHotspotNetwork]()

                for network in cmd.networkList!
                {//check for your network ssid and set password
                      network.setConfidence(.high)
                                network.setPassword("yourpassword") //Set the WIFI password


                            hotspot.append(network)

                }


                let response = cmd.createResponse(NEHotspotHelperResult.success)
                response.setNetworkList(hotspot)
                response.deliver() } else if cmd.commandType == NEHotspotHelperCommandType.evaluate {
                if let network = cmd.network {

 let response = cmd.createResponse(NEHotspotHelperResult.success)
                    response.setNetwork(network)
                    response.deliver() //Respond back }
            } else if cmd.commandType == NEHotspotHelperCommandType.authenticate {
                //Perform custom authentication and respond back with success
                // if all is OK
                let response = cmd.createResponse(NEHotspotHelperResult.success)
                response.deliver() //Respond back
            }

您还可以借助 Apple Configurator 2 工具为您的已知网络使用网络配置文件。在那里你需要设置你的 wi-fi,然后在你的设备上安装 NCP 后,它会自动连接到提到的网络。但是您必须在服务器上托管该文件,因为我们无法在本地下载配置文件并使用像 GCDServer 这样的本地服务器(已经尝试过。)

于 2017-09-22T10:20:13.633 回答
0

您只需要使用以下代码:

WifiConfiguration netConfig = new WifiConfiguration();
netConfig .preSharedKey = "yourpassword";
于 2017-09-21T10:16:46.333 回答