我正在尝试使用NEHotspotConfigurationManager
连接到开放的Wi-Fi网络,但没有任何运气。我已经确保我的应用具有正确的Hotspot Configuration Entitlement,并且正在运行的设备为iOS11。
这是我用来连接到开放网络的代码。
// MARK: - Connect to Hotspot
@available(iOS 11.0, *)
func connectToHotspot(completion: @escaping APConnectionStatusHandler) {
let configuration = NEHotspotConfiguration.init(ssid: Constants.hotspotSSID)
configuration.joinOnce = true
NEHotspotConfigurationManager.shared.apply(NEHotspotConfiguration.init()) { connectionError in
if let error = connectionError {
debugPrint("Failed to automatically connect to \(Constants.hotspotSSID)")
debugPrint(error)
completion(false, error.localizedDescription)
}
else {
debugPrint("Automatically connected to \(Constants.hotspotSSID)")
completion(true, nil)
}
}
}
每次我使用以下命令填充 connectionError
:
Domain=NEHotspotConfigurationErrorDomain Code=1 "invalid SSID."
我找不到任何有关此错误消息确切含义的信息。网络显示在我正在使用的设备的网络列表中。我拼写正确,并且无论我使用什么SSID字符串,错误消息都是相同的。
有什么建议吗?
答案 0 :(得分:0)
也许您不应该使用Constant.hotspotSSID。
根据上述内容,我无法确定什么是“常量”或它是哪种数据类型。
这是我的想法,请尝试以下操作:
let yourSSID: String = "SSID"
let configuration = NEHotspotConfiguration.init(ssid: yourSSID)
configuration.joinOnce = true
NEHotspotConfigurationManager.shared.apply(configuration) {
(error) in
if error != nil {
print("Connect-> Failure!")
} else {
print("Connect-> Success!")
}
}