IOS:游戏中心匹配很慢

时间:2017-03-29 14:53:53

标签: ios objective-c game-center multiplayer

我的应用程序有多人游戏模式,我使用以下代码查找玩家:

[GKMatch ] GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 4;

[[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) {

    if (error)
    {
        // Process the error.
        NSLog(@"Error Match Process: %@", error);
    }
    else if (match != nil)
    {   
        DuelModeController* duelModeController = (DuelModeController*)viewController;
        [duelModeController updateSearchingMessageWith:@"     Connecting Game..."];

    }
}];

上面的代码有效。问题是找到一个播放器的速度很慢,最多可达12到15秒。为了测试它,我使用iPhone和iPad与两个不同的游戏中心帐户,都有IOS 10.2。

你会遇到这样的情况,你是如何解决这个问题的?

由于

1 个答案:

答案 0 :(得分:0)

修正了它!我的App决斗模式涉及两名球员。但是,当从Apple获取示例代码时,我复制并粘贴了最小和最大数量的玩家。 Min设置为2,但Max设置为4.

一旦我将玩家的最大数量设置为2,找到匹配需要2-3秒而不是12到15秒。我的理论是游戏中心可能一直在等待识别第三个和第四个玩家,看到它找不到它们会在12-15秒后恢复成功。

获得的经验:在GKMatch中定义玩家数量时,只需指定所需的玩家编号,而不是更多。

Stephane