2017-03-29 16 views
0

내 응용 프로그램이 멀티 플레이어 모드를 가지고 있는데이 선수를 찾기 위해 다음 코드를 사용하고 일치 :IOS : 게임 센터는 매우 느린

[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가 있습니다.

그런 상황에 처했을 때 어떻게 대처 했습니까?

감사합니다.

답변

0

고쳐졌습니다. 내 앱 결투 모드는 두 명의 플레이어를 다룹니다. 그러나 애플에서 샘플 코드를 가져 가면 최소 및 최대 플레이어 수를 복사하여 붙여 넣습니다. Min은 2로 설정되었지만 Max는 4로 설정되었습니다.

일단 최대 플레이어 수를 2로 설정하면 일치하는 항목이 12-15 초가 아닌 2-3 초가 걸립니다. 내 이론은 게임 센터가 세 번째와 네 번째 플레이어를 식별하기 위해 기다리고 있었을 지 모르는 것을보고, 12-15 초 후에 성공할 것이라고 생각합니다.

교훈 : GKMatch에서 플레이어 수를 정의 할 때 원하는 플레이어 수만 지정하십시오.

스테판