重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
iOS11后苹果提供 NEHotspotConfigurationManager 类直连周边Wi-Fi,iOS11前只能跳转到系统设置界面手动连接Wi-Fi 。
创新互联公司专注于企业成都全网营销推广、网站重做改版、益阳网站定制设计、自适应品牌网站建设、H5开发、成都做商城网站、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为益阳等各大城市提供网站开发制作服务。
info.ssid = dic[@"SSID"];
info.bssid = dic[@"BSSID"];
info.ssidData = dic[@"SSIDDATA"];
NSString *str = [[NSString alloc] initWithData:dic[@"SSIDDATA"] encoding:NSUTF8StringEncoding];
NSLog(@"%@", str);
-(NSDictionary *)getWifiInfo{
NSArray *ifs = (__bridge_transfer id)(CNCopySupportedInterfaces());
//NSLog(@"interface %@", ifs);
NSDictionary *info = nil;
for (NSString *ifname in ifs) {
info = (__bridge_transfer NSDictionary *)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifname);
//NSLog(@"%@ = %@", ifname, info);
}
return info;
}
2、主动连接
//
#import NetworkExtension/NEHotspotConfigurationManager.h
- (IBAction)connectWifi:(id)sender {
//创建将要连接的WIFI配置实例
NEHotspotConfiguration * hotspotConfig = [[NEHotspotConfiguration alloc] initWithSSID:@"Xiaomi_9A36" passphrase:@"12121212" isWEP:NO];
// 开始连接 (调用此方法后系统会自动弹窗确认)
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:hotspotConfig completionHandler:^(NSError * _Nullable error) {
NSLog(@"%@", error);
if (!error) {
self.msgLabel.text = @"切换成功";
}else{
self.msgLabel.text = error.localizedDescription;
}
}];
}
找到设置— WiFi 打开,您的设备会自动搜索可用的 WiFi 网络。
点击连接 你路由器开发网络的wifi名称,当ios设备连接到你的WiFi 网络后,网络名称的左侧将显示一个勾号。显示屏状态栏。
连接到受密码保护的网络,需按你WiFi网络名称,受密码保护的网络会在网络名称的右侧显示一个锁的标志。
提示你输入密码。
点击加入,如果你点击-加入-没反应,表示输入的密码短,最好设置密码长一些。
如果要连接到隐藏网络,要点击-其他,输入你路由器的名称。
点击—安全性—以选取安全性类型。
点击- 返回,输入网络密码。
9
再点击-加入,WiFi图标会自动显示在屏幕左上方。
最近遇到一个比较奇葩的需求:App与硬件通过WiFi LAN通信, 同时App需要与服务器通过3G/4G WAN通信,如下图:
众所周知,手机同时打开WiFi和3G时候,会优先走WiFi。这个该如何实现呢?市面上有一个极路客APP已经实现此方案,网上各种搜索资料,出现一个 Multipath TCP概念 ,但是这个系统没有API,瞬间抓狂,直接查看极路客APP与他们硬件连接的WIFI,发现与我们平时WiFi不一样,DNS没有。
刚开始开机肯定需要用无线网的,首次开机需要设置完成后才能进入,然后再安装手机卡,之前是没法用数据的,所以在验证开发者时需要连接wifi,如果没有网就验证不了,所以需要连接无线网设置才行,否则验证不了,
1 AirDrop (UIActivityViewController类)
功能:实现iOS设备间的文件和数据分享。AirDrop使用蓝牙来扫描周围的设备,当两台设备通过蓝牙建立起了连接,考虑到更快速的数据传输,它就会创建点对点的WiFi网络来连接两部iOS 设备。但并不意味着为了使用AirDrop而需要把设备连接至WiFi网络。
传输方式:蓝牙、WiFi
支持系统:iOS
2 GameKit 框架
功能:GameKit主要是完成iOS设备间联网的相关功能,包括蓝牙和Internet两种方式。
传输方式:蓝牙、WiFi
支持系统:iOS
3 MultipeerConnectivity 框架
功能:利用Multipeer Connectivity框架,即使在没有连接到WiFi(WLAN)或移动网络(xG)的情况下,距离较近的Apple设备(iMac/iPad/iPhone)之间可基于蓝牙和WiFi(P2P WiFi)技术进行发现和连接实现近场通信。
传输方式:蓝牙、WiFi
支持系统:iOS
4 ExternalAccessory 框架
功能:External Accessory Framework提供了配件连接iOS设备的通道。开发者可以通过它来开发连接配件的app。配件可以通过30pin、蓝牙、USB的方式连接iOS设备。
传输方式:蓝牙、WiFi
支持系统:iOS
5 CoreBluetooth 框架
功能:蓝牙4.0协议之间信息传输,支持iOS和Android设备。
传输方式:蓝牙
支持系统:iOS、Android
6 Socket
功能:通过TCP或UDP进行相同局域网内信息传输,支持iOS和Android设备。
传输方式:WiFi
支持系统:iOS、Android
7 Bonjour
功能:Bonjour是一种能够自动查询接入网络中的设备或应用程序的协议。Bonjour 抽象掉 ip 和 port 的概念,让我们聚焦于更容易为人类思维理解的 service。通过 Bonjour,一个应用程序 publish 一个网络服务 service,然后网络中的其他程序就能自动发现这个 service,从而可以向这个 service 查询其 ip 和 port,然后通过获得的 ip 和 port 建立 socket 链接进行通信,支持iOS和Android设备。
传输方式:WiFi
支持系统:iOS、Android
8 AllJoyn
功能:AllJoyn,由高通公司主导的高创新中心的开源项目开发的,主要用于近距离无线传输,通过WiFi或蓝牙技术,定位和点对点文件传输。支持平台:RTOS、Arduino、Linux、Android、iOS、Windows、Mac。
传输方式:蓝牙、WiFi
支持系统:RTOS、Arduino、Linux、Android、iOS、Windows、Mac