以下代码将最佳主机返回为null。我怎样才能让它发挥作用?
[gameKitHelper.match chooseBestHostPlayerWithCompletionHandler: ^(NSString *playerID) {
gameKitHelper.hostingPlayer = [playerID retain];
NSLog(@"Best host = %@",gameKitHelper.hostingPlayer);
}];
答案 0 :(得分:5)
我发现一个简单的解决方案(而不是生成需要额外协商和数据传输的随机数)是简单地将[[GKLocalPlayer localPlayer] playerID]与匹配中的playerID进行比较,然后选择第一个按升序排序。这可以在所有设备上完成,保证作为主机的唯一播放器ID,并保证在所有设备上选择相同的唯一播放器ID。
答案 1 :(得分:1)
来自Apple的游戏中心指南
如果您打算使用此方法搜索最佳服务器,则全部 匹配中的设备必须在Game Kit的版本上运行 支持此方法,匹配中的每个设备都必须调用此方法 方法同时。
你是否在你的应用程序中这样做了?
此外,为了使其正常工作,所有客户端必须已经相互连接。