背景:给智能设备配置网络,需要直连智能设备发射的Wi-Fi
目前技术:iOS11后苹果提供 NEHotspotConfigurationManager 类直连周边Wi-Fi,iOS11前只能跳转到系统设置界面手动连接Wi-Fi
苹果后台创建项目Identifiers并申请Hotspot权限
项目中导入NetworkExtension框架
项目Capablities将Hotspot Configuration打开,不然不发调试(必须真机上调试)
如果没有连接WiFi时的弹框
如果连接但不是目标WiFi时的弹框
import NetworkExtension //导入网络扩展框架
//核心代码(@available(iOS 11.0, *))
func connectWifi(){
if #available(iOS 11.0, *) {
let hcg = NEHotspotConfiguration(ssid: "Centa-XXX", passphrase: "XXX", isWEP: false)
NEHotspotConfigurationManager.shared.apply(hcg) { (erro) in
if erro == nil {
print("链接wifi成功")
}else{
print(erro?.localizedDescription ?? "未知错误")
}
}
} else {
// 跳转至设置界面
}
}