[转]iOS蓝牙模块
你看看GAME KIT框架里面的GKPeerPickerController、GKSession,通过这两个类我们可以将两台iPhone使用蓝牙给连接起来并使相互之间可以发送/接收消息.
GKPeerPickerController:提供一套系统界面最终使多台设备之间的蓝牙连接起来,如果机器未开启蓝牙功能时,会提示是否要打开蓝牙功能.最终我们将通过一个回调函数
- (void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *)session;
来得到与某个蓝牙连接成功事件.
GKSession:提供将多个蓝牙连接在一起之后的会话处理,如发送消息,接收消息,某个蓝牙设备断开等.
连接过程:
1. GKPeerPickerController建立蓝牙连接界面
2. peerPickerController(sessionForConnectionType) 回调获取GKSession的实体
3. GKSession alloc建立一个自定义的GKSession(可以设置sessionID与type:s/c/peer)
4. peerPickerController(didConnectPeer)一个设备连接成功的通知
5. session(didChangeState=GKPeerStateConnected)一个设备加入到session的通知
发送与接收:
• GKSession
sendData通过这个函数来发送数据给指定的peer(可以是多个)
• GKSessionDelegate
receiveData通过这个回调函数来接收其它peer发送过来的数据
转载自:Ghost