我正在使用 GKSession 和 GKPeerPickerController 开发 iOS 游戏。我发现连接两个 iOS 设备的过程缓慢且不可靠,即使它们彼此相邻。让我们称我的设备为“设备 A”和“设备 B”。
以下是通常发生的情况:
在每台设备上,我点击了我的应用程序的连接按钮。然后,每台设备都会显示“iPad、iPhone 或 iPod touch”窗口。
通常很快,两个设备都会注意到对方的存在。
然后我告诉其中一个设备(比如设备 A)连接到另一个。
很快,设备 B 的窗口显示设备 A 不可用。
这是令人讨厌的地方。大约1秒到永远不等的一段时间后,设备B上弹出一个窗口说设备A要连接,并询问设备B是否要接受连接。
如果确实弹出上述窗口,则一切正常。但这有时需要很长时间,有时根本不会发生。
我有三个设备,无论我使用哪两个,我都有类似的问题。
对此我能做些什么吗?
我的连接方法非常简单:
-(void) findPeerPickerOpponents {
GKPeerPickerController *picker;
picker = [[GKPeerPickerController alloc] init];
picker.delegate = self;
[picker show];
[self.connectionDelegate disableIdleTimer];
}