3

以下代码将最佳主机返回为空。我怎样才能让它工作?

[gameKitHelper.match chooseBestHostPlayerWithCompletionHandler: ^(NSString *playerID) {
    gameKitHelper.hostingPlayer = [playerID retain];
    NSLog(@"Best host = %@",gameKitHelper.hostingPlayer);
}];
4

2 回答 2

5

我发现一个简单的解决方案(而不是生成需要额外协商和数据传输的随机数)是简单地将 [[GKLocalPlayer localPlayer] playerID] 与比赛中的 playerID 进行比较,然后选择第一个按升序排列的。这可以在所有设备上完成,保证唯一的 playerID 作为主机,并保证在所有设备上选择相同的唯一 playerID。

于 2013-06-27T14:59:07.023 回答
1

来自 Apple 的游戏中心指南

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

你在你的应用程序中这样做吗?

此外,为了使其正常工作,所有客户端必须已经相互连接。

于 2013-03-19T22:28:37.433 回答