我现在在基本级别上使用 GameKit。我能够连接两个设备并在它们之间发送消息。
我有 3 个设备,我们称它们为设备 A、B 和 C。
我能够将 A 连接到 B、A 连接到 C 以及 B 连接到 C,作为单独的设置。
如果我将 A 连接到 B,然后尝试将 B 连接到 C,设备 C 将显示设备 B 可用,但设备 B 继续旋转并说“正在寻找可用的 iPod、iPhone...”
在peerPickerController:sessionForConnectionType:
,当我试图将 B 连接到 C 时,我试图让设备 B 重用它GKSession
在连接到 A 时使用的相同...因为如果我在设备 B 上创建一个新会话,它就能够连接到设备 C,但断开与设备 A 的连接。
这是sessionForConnectionType
:
-(GKSession*)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type {
// session is a synthesized GKSession
if (session == nil) {
session = [[GKSession alloc] initWithSessionID:nil displayName:@"" sessionMode:GKSessionModePeer];
session.delegate = self;
}
return session;
}