Bluetooth 接続に GameKit を使用して作成しようとしているゲームに必要な基本的な手順を理解しようとしています。デバイスが 1 つしかないため、アイデアを簡単に試すことができません。
このゲームには、GameKit を介して Bluetooth 経由で最大 2 人のプレイヤーが参加し、送受信する唯一のデータは、位置と方向のデータのみを含む「ショット」です。
これは私が起こるべきだと思うことです。私が犯した間違いを誰かに指摘してもらいたいだけです:
ゲームは、GKPeerPickerController に「GKPeerPickerConnectionTypeNearby」の connectionTypeMask を提示し、デリゲートを「self」に設定することから始まります。
GKPeerPickerController デリゲート メソッド「peerPickerController:didConnectPeer:toSession:」が実装され、セッション dataReceiveHandler を self に設定します。peerID は、接続されているすべてのピア ID を保持する NSMutableArray に追加されます。(常に 1 つのピアのみが接続されている必要があります)。
ゲームごとに 1 つのピア接続のみを強制するために、メソッド「session:didReceiveConnectionRequestFromPeer:」は、接続されたピア ID を保持する NSMutableArray の「count」プロパティをチェックします。「count」>0 の場合は、「denyConnectionFromPeer:」を呼び出して応答します。それ以外の場合は、「acceptConnectionFromPeer:error:」を呼び出します。
ショットを送信するために、ゲームは「sendData:toPeers:withDataMode:error:」を呼び出します。
ショットを受信するために、ゲームは「receiveData:fromPeer:inSession:context:」に応答します。
不足している手順はありますか? たとえば、私が接続する前にユーザーが私に接続しようとした場合、私の GKPeerPickerController はどうなりますか? それを却下する方法をどうやって知ることができますか?
また、別の iPhone/iPod がなければテストできません。