IOS NetworkExtension 框架使用笔记
来源:互联网 发布:淘宝买家钻号 编辑:程序博客网 时间:2024/06/05 08:49
从iOS 8开始,苹果开放了新的框架 NetworkExtension ,该框架提供了配置和控制VPN支持的接口,和wifi热点相关的接口。
使用的步骤如下:
1.向苹果发送邮件申请使用NetworkExtension框架
框架申请链接:https://developer.apple.com/contact/network-extension
开发者账号登录,填写申请表说明app是要用来干嘛的,然后就等苹果回复邮件看是否通过申请。
2.创建项目app id时配置 App Services
- 配置信息
3.在开发者中心配置证书
- 进入开发者中心选择Certificates,IDS&Profiles
- 选择最底下的Provisioning Profiles 面板选择ALL,选择右上角的添加
- 根据自己的需要选择 provisioning profile 的类型
- 选择APP id
- 勾选以下配置项目的两个
- 选择 entitlements 选择选择 Network Extension
- 为provisioning file 取个名字
4.在项目中使用配置好的文件
- 在xcode 中 xcode -> Preferences… ->Accounts
- 选择你配置好的配置文件,download
5.在项目中配置plist文件
<key>UIBackgroundModels</key><array> <string>network-authentication</string></array>
6.在项目中配置Entitlements文件(涉及wifi热点的要配置这个)
- 在项目的entitlements后缀的文件中添加 com.apple.developer.networking.HotspotHelper 权利
7.代码
- 我这里是获取wifi列表信息,如wifi信号强度,名称,等
+(void)scanWifiInfos{ NSLog(@"in wifi scan"); NSMutableDictionary* options = [[NSMutableDictionary alloc] init]; //NSMutableDictionary* infos = [[NSMutableDictionary alloc] init]; [options setObject:@"meme" forKey:kNEHotspotHelperOptionDisplayName]; dispatch_queue_t queue = dispatch_queue_create("LiyiZhan.WifiDemo", 0); BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue handler:^(NEHotspotHelperCommand * cmd){ NSLog(@"in block"); [cmd createResponse:kNEHotspotHelperResultAuthenticationRequired]; if(cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList){ NSLog(@"bbbb = %lu",cmd.networkList.count); for(NEHotspotNetwork* network in cmd.networkList){ NSString* ssid = network.SSID; NSString* bssid = network.BSSID; BOOL secure = network.secure; BOOL autoJoined = network.autoJoined; double signalStrength = network.signalStrength; NSLog(@"SSID:%@ # BSSID:%@ # SIGNAL:%f ",ssid,bssid,signalStrength); } } }];}
至此,搞掂~~
ps 1: 如果你运行完,没看到打印。心想被坑了,那就拿起你的手机进入到 设置,打开【无线局域网】设置页面。这时候你再看看控制台。
ps 2:苹果这么搞也是不好玩,还要进入到他自己的设置页面才能获取wifil列表,坑~~~
demo下载:http://pan.baidu.com/s/1pKFrqoN
1 0
- IOS NetworkExtension 框架使用笔记
- IOS NetworkExtension 框架使用笔记
- iOS 9 NetworkExtension使用
- [绍棠] iOS 9 NetworkExtension使用
- iOS 9 NEHotspotHelper 的NetworkExtension使用
- iOS9 NetworkExtension使用
- iOS MessageUI 框架使用笔记
- Thrift框架学习笔记 IOS/MAC中使用Thrift框架
- 关于IOS9中NetworkExtension框架SimpleTunnel Demo中VPN连接部分的讲解
- IOS开发笔记 框架篇
- jeecms框架使用笔记
- Retrofit框架使用笔记
- Volley框架使用笔记
- Glide框架使用笔记
- ios笔记--Foundation框架学习笔记
- IOS AssetsLibrary框架的使用
- iOS Core Data框架使用
- iOS-MJExtension框架使用总结
- JavaScript 中的变量和函数提升
- 《疯狂Java讲义(第3版)》.(李刚)——面向对象(上)
- 【转载】python获取文件及文件夹大小
- 在android中用NetworkImageView读取网络图片并通过ListView显示出来
- 剑指offer|从尾到头打印链表
- IOS NetworkExtension 框架使用笔记
- Android入门--Intent数据传递
- 影响蓝牙BLE设备功耗的几个因素
- 【刷题之路】有序数组组合问题
- LightOJ 1197 Help Hanzo(区间素数筛选)
- c 4.5 k-means 算法 机器学习
- Kylin, Mondrian, Saiku系统的整合
- LightOJ1336 Sigma Function(约数和为奇数的个数)
- 数位DP问题