溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的方法

發(fā)布時(shí)間:2020-10-10 20:55:05 來源:腳本之家 閱讀:416 作者:小豈幾哥 欄目:移動(dòng)開發(fā)

背景:

給智能設(shè)備配置網(wǎng)絡(luò),需要直連智能設(shè)備發(fā)射的Wi-Fi

目前技術(shù):

iOS11后蘋果提供  NEHotspotConfigurationManager 類直連周邊Wi-Fi,iOS11前只能跳轉(zhuǎn)到系統(tǒng)設(shè)置界面手動(dòng)連接Wi-Fi

步驟

給開發(fā)者中心給 Appid 配置連接Wi-Fi的權(quán)限

iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的方法

Xcode - Build Phases - 引入NetworkExtension

iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的方法

Xcode - Capabilities - Hostpot Configuration 勾選

iOS11實(shí)現(xiàn)App內(nèi)自動(dòng)連接Wi-Fi的方法

代碼實(shí)現(xiàn)

引入 #import <NetworkExtension/NEHotspotConfigurationManager.h>

if (@available(iOS 11.0, *)) {
  NEHotspotConfiguration * hotspotConfig = [[NEHotspotConfiguration alloc] initWithSSID:@"Deli_L1050ADNW_1B0000"];
  // 開始連接 (調(diào)用此方法后系統(tǒng)會(huì)自動(dòng)彈窗確認(rèn))
  [[NEHotspotConfigurationManager sharedManager] applyConfiguration:hotspotConfig completionHandler:^(NSError * _Nullable error) {
   NSLog(@"%@",error);
   if (error && error.code != 13 && error.code != 7) {
    
   }else if(error.code ==7){//error code = 7 :用戶點(diǎn)擊了彈框取消按鈕
    

   }else{// error code = 13 :已連接
    
    
   }

  }];
 } else {
   // iOS11以下版本邏輯
 }

以上說的方法不需要去蘋果申請(qǐng)權(quán)限

注意事項(xiàng)

由于NEHotspotConfigurationManager.h在模擬器上不可用,導(dǎo)入方法為:

#if TARGET_IPHONE_SIMULATOR
#else
#import <NetworkExtension/NEHotspotConfigurationManager.h>
#endif

代碼邏輯同于注意事項(xiàng)1

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI