目的:
瞭解iPhone的藍芽開發基礎架構
核心:
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發送過來的資料
例子代碼(縮減GKTank):
附件 BluetoothTest.zip (26
K) 下載次數:405