我正在开发一个iOS应用程序,它需要自动连接到WiFi网络。我们曾要求苹果公司延长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网络的细节。
发布于 2016-12-15 16:44:51
是需要在设置-> Wi中输入,只有当进入屏幕时才能执行,我也尝试过自动连接,但是用户需要第一次选择网络来连接。如果用户选择一次连接网络,下一次可以自动连接,因为可以进入命令维护。
见更多信息:https://forums.developer.apple.com/message/138756#138756
https://stackoverflow.com/questions/41095687
复制相似问题