chooseBestHostPlayerWithCompletionHandler返回null

时间:2013-02-28 14:46:08

标签: ios6 cocos2d-iphone game-center

以下代码将最佳主机返回为null。我怎样才能让它发挥作用?

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

来自Apple的游戏中心指南

  

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

你是否在你的应用程序中这样做了?

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