3

我正在使用以下代码来确定在具有 2 个用户的多人 iOS 游戏中充当服务器的最佳主机。当所有播放器在所有设备上同时连接时执行代码。

[myMatch chooseBestHostPlayerWithCompletionHandler: ^(NSString *playerID) {
    NSLog(@"The best host is: %@", playerID);
}];

的值playerID始终为空,根据文档,这意味着它无法确定最佳主机。我正在使用 iOS 6.1 的 iPhone 和 6.1 版的模拟器测试该应用程序。运行模拟器的电脑和 iPhone 在同一个无线网络上。我已经测试了在两个设备上以连续方式调用上面的代码,并发现如果其中一个设备断开连接,它确实确定了一个主机。

我需要两个非模拟器设备来测试吗?或者还有什么可能导致这种情况?

4

1 回答 1

1

由于某种原因,它不适用于模拟器(或者我无法使其工作)。

在使用 2 台设备时,我大部分时间确实得到了有效的结果。也就是说 - 它并不总是一致的,因此您肯定需要一个备份选项来选择主机。

如果您打算使用此方法搜索最佳服务器,则比赛中的所有设备都必须在支持此方法的 Game Kit 版本上运行,并且比赛中的每个设备必须同时调用此方法。

这超出了多人游戏指南 - 您是否同时在两个设备上调用该方法?

于 2013-03-20T16:23:58.713 回答