Fork me on GitHub

[转]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

posted @ 2013-05-23 15:12  木狼君  阅读(241)  评论(0编辑  收藏  举报