背景:給智能設(shè)備配置網(wǎng)絡(luò),需要直連智能設(shè)備發(fā)射的Wi-Fi
目前技術(shù):iOS11后蘋果提供 NEHotspotConfigurationManager 類直連周邊Wi-Fi,iOS11前只能跳轉(zhuǎn)到系統(tǒng)設(shè)置界面手動連接Wi-Fi
蘋果后臺創(chuàng)建項目Identifiers并申請Hotspot權(quán)限

image.png

image.png
項目中導(dǎo)入NetworkExtension框架

image.png
項目Capablities將Hotspot Configuration打開,不然不發(fā)調(diào)試(必須真機上調(diào)試)

image.png
如果沒有連接WiFi時的彈框
IMG_3218.PNG
如果連接但不是目標(biāo)WiFi時的彈框
IMG_3219.PNG
import NetworkExtension //導(dǎo)入網(wǎng)絡(luò)擴(kuò)展框架
//核心代碼(@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 {
// 跳轉(zhuǎn)至設(shè)置界面
}
}