ios 中提控4个框架连接蓝牙
1.GameKit.framework
只能用于ios设备间连接,多用于游戏类 ios7以后开始有接口过期
通过GKPeerPickerController 建立链接
得到连接到的PeerId 和 GKSession 对象
通过Session 向 PeerId 发送NSData
其中Mode 分为
GKSendDataReliable 可靠的
GKSendDataUnReliable 不可靠的 数据只会发送一次
不同于server 这是两个客户端之间的通讯,GKSession 对象需要设置成数据接收者
既
session setDataReceiveHander:(id) withContext:(void *);
同时在id 对象中实现接受到数据调用
receiveData:(NSData *)data fromPeer:(NSString *)peer isSession:(GKSession *)session context:(void *)context
2.MultipeerConnectivity.fremework
用于ios间设备通讯,主要用于沙盒文件共享 在iOS7中,引入了一个全新的框架--Multipeer Connectivity(多点连接)。利用Multipeer Connectivity框架,即使在没有连接到WiFi(WLAN)或移动网络(xG)的情况下,距离较近的Apple设备(iMac / iPad / iPhone)之间可基于蓝牙和WiFi(P2P WiFi)技术进行发现和连接实现近场通信。
3.ExternalAccessory.framework
可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证
4.CoreBluetooth.framework
可用于第三方蓝牙设备交互,必须要支持蓝牙4.0
BLE中心模式流程
1.建立中心角色
2.扫描外设(Discover Peripheral)
3.连接外设(Connect Peripheral)
4.扫描外设中的服务和特征(Discover Services And Characteristics)
4.1 获取外设的services
4.2 获取外设的Characteristics,获取characteristics的值,,获取Characteristics的Descriptor和Descriptor的值
5.利用特征与外设做数据交互(Explore And Interact)
6.订阅Characteristic的通知
7.断开连接(Disconnect)