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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
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;
-
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
-
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系统有一个媒体数据库,每拍一张照片,或使用系统截屏截取一张图片,都会把这张图片的详细信息加入到这个媒体数据库,并发出内容改变通知,我们可
随机推荐
- requireJS使用指南
- linux中批量修改文件名的脚本代码
- asp.net 30分钟掌握无刷新 Repeater
- js 数组操作之pop,push,unshift,splice,shift
- Flex 实现可以拖动的毛玻璃效果
- 对javascript的一点点认识总结《javascript高级程序设计》读书笔记
- Zend Framework入门教程之Zend_Db数据库操作详解
- centos6.7安装python2.7.11的具体方法
- Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
- C# SkinEngine控件 给窗体添加皮肤的方法
- C++实现raw_input的方法
- JSP实现从不同服务器上下载文件的方法
- php数组函数序列之array_splice() - 在数组任意位置插入元素
- nginx的FastDFS分布式存储模块测试方法
- 可以获取客户端的IP地址的sql语句
- BootStrap框架中的data-[ ]自定义属性理解(推荐)
- 基于jQuery实现左右图片轮播(原理通用)
- 基于jquery实现拆分姓名的方法(纯JS版)
- undefined reference to 'pthread_create'的解决方法
- C/C++ 进程通讯(命名管道)的实例