iOS连接外设的几种方式,无疑就下面几种方式:
GameKit、CoreBluetooth和ExternalAccessory,GameKit早已废弃。那就剩下CoreBluetooth和ExternalAccessary两个框架,有图可知,EAP要MFi认证,要求设备的设计理念符合苹果的要求,据说通过率是2%。大部分公司都是放弃的,所以绝大部分公司采取的是BLE这套框架,但是门槛高有他的好处,这套框架很强大,不仅可以进行无线蓝牙通信,还可以进行有线通信,就是通过USB通信。
BLE通信方式很简单就不做说明,说一下BLE通信过程中大家忽视的东西,希望对大家有帮助。
很多做过蓝牙的人都很确定BLE通信中iOS拿不到设备的MAC地址,那我就验证给大家看能不能拿到!
在BLE协议中
- (void)centralManager:(CBCentralManager*)central didDiscoverPeripheral:(CBPeripheral*)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber*)RSSI;
可以同过advertisementData广告包中获取这几个属性值
画红线处就是MAC地址,只是要处理一下,我用安卓手机测试,得到的MAC地址是E0:DA:AA:AB:5D:E7,
第二中获取MAC地址的方式是链接之后才能获取,在特种纸Read里面可以读取到,也是要经过处理。
综上,iOS是可以得到MAC地址的,希望能为大家扫除得不到MAC地址的这个误区。
网友评论