3

次のコードは、最適なホストをnullとして返します。どうすればそれを機能させることができますか?

[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 に答える