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