iOS11实现App内自动连接Wi-Fi的方法

背景:

给智能设备配置网络,需要直连智能设备发射的Wi-Fi

目前技术:

iOS11后苹果提供  NEHotspotConfigurationManager 类直连周边Wi-Fi,iOS11前只能跳转到系统设置界面手动连接Wi-Fi

步骤

给开发者中心给 Appid 配置连接Wi-Fi的权限

Xcode - Build Phases - 引入NetworkExtension

Xcode - Capabilities - Hostpot Configuration 勾选

代码实现

引入 #import <NetworkExtension/NEHotspotConfigurationManager.h>

if (@available(iOS 11.0, *)) {
  NEHotspotConfiguration * hotspotConfig = [[NEHotspotConfiguration alloc] initWithSSID:@"Deli_L1050ADNW_1B0000"];
  // 开始连接 (调用此方法后系统会自动弹窗确认)
  [[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 :用户点击了弹框取消按钮

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

   }

  }];
 } else {
   // iOS11以下版本逻辑
 }

以上说的方法不需要去苹果申请权限

注意事项

由于NEHotspotConfigurationManager.h在模拟器上不可用,导入方法为:

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

代码逻辑同于注意事项1

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • IOS 获取已连接的wifi信息的实现代码

    IOS 获取已连接的wifi信息的实现代码 首先需要   #import <SystemConfiguration/CaptiveNetwork.h> + (id)fetchSSIDInfo { NSArray *ifs = (id)CNCopySupportedInterfaces(); NSLog(@"%s: Supported interfaces: %@", __func__, ifs); id info = nil; for (NSString *ifnam in

  • iOS获取当前连接的wifi信息

    本文实例为大家分享了iOS获取当前连接wifi信息的具体代码,供大家参考,具体内容如下 导入框架CaptiveNetwork #import <SystemConfiguration/CaptiveNetwork.h> 获取当前连接的wifi信息 // 只能获取当前的SSID - (id)fetchSSIDInfo { NSString *currentSSID = @""; CFArrayRef myArray = CNCopySupportedInterfaces();

  • iOS获取当前连接的WiFi以及IP地址

    导入头文件 #import <ifaddrs.h> #import <arpa/inet.h> #import <SystemConfiguration/CaptiveNetwork.h> 核心代码: + (nullable NSString*)getCurrentLocalIP { NSString *address = nil; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL;

  • iOS11实现App内自动连接Wi-Fi的方法

    背景: 给智能设备配置网络,需要直连智能设备发射的Wi-Fi 目前技术: iOS11后苹果提供  NEHotspotConfigurationManager 类直连周边Wi-Fi,iOS11前只能跳转到系统设置界面手动连接Wi-Fi 步骤 给开发者中心给 Appid 配置连接Wi-Fi的权限 Xcode - Build Phases - 引入NetworkExtension Xcode - Capabilities - Hostpot Configuration 勾选 代码实现 引入 #impo

  • Spring Security实现两周内自动登录"记住我"功能

    本文是Spring Security系列中的一篇.在上一篇文章中,我们通过实现UserDetailsService和UserDetails接口,实现了动态的从数据库加载用户.角色.权限相关信息,从而实现了登录及授权相关的功能.这一节就在此基础上新增,登录过程中经常使用的"记住我"功能,也就是我们经常会在各种网站登陆时见到的"两周内免登录","三天内免登录"的功能.该功能的作用就是:当我们登录成功之后,一定的周期内当我们再次访问该网站,不需要重新登

  • Android10自动连接WiFi问题的解决

    说明: 本文主要说明扫码之后自动连接WiFi的一些处理,扫码的流程相对简单,网上教程也比较多,对于目前Android各个版本也没有太多变化. 问题描述: 最近在做项目的时候,发现以前的项目有扫描二维码自动连接WiFi的功能,设备改了生成二维码的方式,然后发现手机无法自动连接WiFi了. 问题原因: 经过代码调试发现:(我都是真机调试) wifiManager.addNetwork(WifiConfiguration); 在添加WiFi的时候,这行代码始终返回-1,换用同事手机竟然神奇的可以连接,

  • Spring Security实现两周内自动登录"记住我"功能

    本文是Spring Security系列中的一篇.在上一篇文章中,我们通过实现UserDetailsService和UserDetails接口,实现了动态的从数据库加载用户.角色.权限相关信息,从而实现了登录及授权相关的功能.这一节就在此基础上新增,登录过程中经常使用的"记住我"功能,也就是我们经常会在各种网站登陆时见到的"两周内免登录","三天内免登录"的功能.该功能的作用就是:当我们登录成功之后,一定的周期内当我们再次访问该网站,不需要重新登

  • Python实现Telnet自动连接检测密码的示例

    最近在学习Python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止. Python内置了telnetlib模块,支持telnet远程操作,只要直接import就可以. 代码如下: # encoding=utf-8 import telnetlib import time import sys import os def do_telnet(Host, Port, username, password,

  • App内切换语言详解

    前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不用担心我findViewBy不到Id了哈哈,开个玩笑) 先上示例图: 代码实现: 布局文件(Data-Binding模式),很简单就是两行文字 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:a

  • js实现固定显示区域内自动缩放图片的方法

    本文实例讲述了js实现固定显示区域内自动缩放图片的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

  • Python自动连接ssh的方法

    本文实例讲述了Python自动连接ssh的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python #-*- coding:utf-8 -*- import sys, time, os try: import pexpect except ImportError: print """ You must install pexpect module """ sys.exit(1) addr_map = { 'v3' :('

  • JS实现两周内自动登录功能

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>两周内自动登录</title> <script src="cookie.js" type="text/javascript" charset="utf-8&

  • Android App内监听截图加二维码功能代码

    Android截屏功能是一个常用的功能,可以方便的用来分享或者发送给好友,本文介绍了如何实现app内截屏监控功能,当发现用户在我们的app内进行了截屏操作时,进行对图片的二次操作,例如添加二维码,公司logo等一系列*. 项目地址 测试截图: 截屏原理 android系统并没有提供截屏通知相关的API,需要我们自己利用系统能提供的相关特性变通实现.Android系统有一个媒体数据库,每拍一张照片,或使用系统截屏截取一张图片,都会把这张图片的详细信息加入到这个媒体数据库,并发出内容改变通知,我们可

随机推荐