ios9 获取app 获取wifi列表,wifi添加副标题
来源:互联网 发布:薪酬数据 编辑:程序博客网 时间:2024/06/06 04:34
使用之前先到这里看申请方法https://forums.developer.apple.com/message/30657#30657,申请成功后就可以使用这个框架
NetworkExtension
#import <NetworkExtension/NetworkExtension.h> NSArray * networkInterfaces = [NEHotspotHelper supportedNetworkInterfaces]; NSLog(@"Networks %@",networkInterfaces);
//获取wifi列表for(NEHotspotNetwork *hotspotNetwork in [NEHotspotHelper supportedNetworkInterfaces]) { NSString *ssid = hotspotNetwork.SSID; NSString *bssid = hotspotNetwork.BSSID; BOOL secure = hotspotNetwork.secure; BOOL autoJoined = hotspotNetwork.autoJoined; double signalStrength = hotspotNetwork.signalStrength;}
//添加副标题
// 配置
结果:
应用程序的Info.plist必须添加一个包含“remote-notification”的UIBackgroundModes数组应用程序必须设置“com.apple.developer.networking.HotspotHelper'作为它的权利之一。
该权利的值是一个布尔值true要申请这个权利,请发送E-MAIL到networkextension@apple.com更多信息请参阅苹果的Hotspot Network Subsystem Programming Guide
.plist 配置
<key>UIBackgroundModes</key>
<array>
<string>network-authentication</string>
</array>
Register a Hotspot Helper
+ (BOOL)registerWithOptions:(NSDictionary*)options queue:(dispatch_queue_t)queue handler:(NEHotspotHelperHandler)handler
@param options
kNEHotspotHelperOptionDisplayName :WIFI的注释tag字符串// 此处设置的内容会在WiFi列表中每个WiFi下边展示出来
@param queue dispatch_queue_t 用来调用handle的block
@param handler NEHotspotHelperHandler block 用于执行处理 helper commands.
@return 注册成功YES, 否则NO.
@discussion 一旦这个API调用成功,应用程序有资格在后台启动,并参与各种热点相关的功能。 当应用程序启动此方法应该调用一次。再次调用它会不会产生影响,并返回NO。
Manage Hotspot Networks
+ (BOOL)logoff:(NEHotspotNetwork *)network
@param network 对应当前关联的WiFi网络NEHotspotNetwork
@return 注销命令已成功进入队列YES, 否则NO.
@discussion 调用此方法使kNEHotspotHelperCommandTypeLogoff型的NEHotspotHelperCommand向应用程序发出的“handler”模块 网络参数必须符合当前关联的WiFi网络,即它必须来自对NEHotspotHelperCommand网络属性或方法supportedInterfaces
+ (NSArray *)supportedNetworkInterfaces
@return 如果没有网络接口被管理,返回nil。否则,返回NEHotspotNetwork对象数组。
@discussion 每个网络接口由NEHotspotNetwork对象表示。当前返回的数组包含一个NEHotspotNetwork对象代表Wi-Fi接口。
这种方法的主要目的是当没有得到一个命令来处理它时,让一个热点助手偶尔提供在UI里其准确的状态。 此方法加上NEHotspotNetwork的isChosenHelper方法允许应用程序知道它是否是当前处理的网络。
代码
NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@"我是副标题" forKey:kNEHotspotHelperOptionDisplayName];
dispatch_queue_t queue = dispatch_queue_create("com.myapp.ex", NULL);
BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
NEHotspotNetwork* network;
NSLog(@"COMMAND TYPE: %ld", (long)cmd.commandType);
[cmd createResponse:kNEHotspotHelperResultAuthenticationRequired];
if (cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType ==kNEHotspotHelperCommandTypeFilterScanList) {
NSLog(@"WIFILIST: %@", cmd.networkList);
for (network in cmd.networkList) {
NSLog(@"COMMAND TYPE After: %ld", (long)cmd.commandType);
if ([network.SSID isEqualToString:@"ssid"]|| [network.SSID isEqualToString:@"WISPr Hotspot"]) {
double signalStrength = network.signalStrength;
NSLog(@"Signal Strength: %f", signalStrength);
[network setConfidence:kNEHotspotHelperConfidenceHigh];
[network setPassword:@"password"];
NEHotspotHelperResponse *response = [cmd createResponse:kNEHotspotHelperResultSuccess];
NSLog(@"Response CMD %@", response);
[response setNetworkList:@[network]];
[response setNetwork:network];
[response deliver];
}
}
}
}];
NSLog(@"result :%d", returnType);
NSArray *array = [NEHotspotHelper supportedNetworkInterfaces];
NSLog(@"wifiArray:%@", array);
NEHotspotNetwork *connectedNetwork = [array lastObject];
NSLog(@"supported Network Interface: %@", connectedNetwork);
- ios9 获取app 获取wifi列表,wifi添加副标题
- 获取app 获取wifi列表,wifi添加副标题
- iOS9 wifi设置副标题
- iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签(副标题)
- iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签(副标题)
- 获取WiFi列表
- android开发-获取wifi列表
- android开发-获取wifi列表
- 【Android】获取WIFI列表简单小例子
- Android命令行获取WiFi列表以及参数
- iOS 利用 NEHotspotHelper 获取 WiFi 列表
- iOS 利用 NEHotspotHelper 获取 WiFi 列表
- iOS 利用 NEHotspotHelper 获取 WiFi 列表
- Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)
- Android6.0及以上版本Wifi开发,扫描Wifi信息,获取Wifi列表为空
- iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签
- WIFI状态获取
- Android 获取wifi状态
- Rplication error: Could not find stored procedure 'dbo.sp_MSins_dboTablename'解决方法.
- C#中将utc时间转换成DateTime
- 第十四周【项目1-排序函数模板】
- Ajax文件上传
- 《Spring设计思想》AOP实现原理(基于JDK和基于CGLIB)
- ios9 获取app 获取wifi列表,wifi添加副标题
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- 解决Andriod软键盘出现把原来的布局给顶上去的方法
- 嵌入式Linux基础知识5(ubuntu16”命令行模式和图形界面切换“ “开机自动进入命令行模式设置”)
- 类型基础
- jquery.teml()小例子
- C++大数乘法
- Eclipse 安装最新SVN插件
- DICOM的几个PDU包