重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1 AirDrop (UIActivityViewController类)
成都创新互联专业为企业提供金昌网站建设、金昌做网站、金昌网站设计、金昌网站制作等企业网站建设、网页设计与制作、金昌企业网站模板建站服务,10年金昌做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
功能:实现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
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群: 812157648 ,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!
iOS 13 以后
获取WiFi名称,必须要先允许获取定位信息
原文地址: ;request_id=160741070019215668868668biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2 all first_rank_v2~rank_v29-6-110481171.pc_search_result_cacheutm_term=iOS%E5%BC%80%E5%8F%91
遍历UIStatusBar获取信号类型
- (void)getNetworkType
{
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
for (id subview in subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
int networkType = [[subview valueForKeyPath:@"dataNetworkType"] intValue];
switch (networkType) {
case 0:
NSLog(@"NONE");
break;
case 1:
NSLog(@"2G");
break;
case 2:
NSLog(@"3G");
break;
case 3:
NSLog(@"4G");
break;
case 5:
{
NSLog(@"WIFI");
}
break;
default:
break;
}
}
}
}
- (void)getSignalStrength{
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
NSString *dataNetworkItemView = nil;
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}
int signalStrength = [[dataNetworkItemView valueForKey:@"_wifiStrengthBars"] intValue];
NSLog(@"signal %d", signalStrength);
}