我使用以下代码确定在2个用户的多人iOS游戏中充当服务器的最佳主机。当所有播放器在所有设备上同时连接时,将执行代码。
[myMatch chooseBestHostPlayerWithCompletionHandler: ^(NSString *playerID) {
NSLog(@"The best host is: %@", playerID);
}];
playerID
的值始终为null,根据文档意味着它无法确定最佳主机。我在带有iOS 6.1的iPhone和带有6.1版的模拟器上测试应用程序。运行模拟器和iPhone的计算机位于同一无线网络上。我已经测试了在两个设备上以一个连续的方式调用上面的代码,发现如果其中一个设备断开连接,它确定了一个主机。
我需要两个非模拟器设备来测试吗?或者还有什么可能导致这种情况?
答案 0 :(得分:1)
出于某种原因,它无法与模拟器一起使用(或者我无法使其正常工作)。
我在使用2台设备时大多数时间都能获得有效的结果。 这就是说 - 它并不总是一致的,所以你肯定需要一个备份选项来选择主机。
另外
如果您打算使用此方法搜索最佳服务器,则全部 匹配中的设备必须在Game Kit的版本上运行 支持此方法,匹配中的每个设备都必须调用此方法 方法同时。
这不在多人游戏指南中 - 您是否同时在两个设备上调用该方法?