2013-02-06 2 views
4

Game Center에서 가장 이상한 동작이 발생합니다.Game Center 샌드 박스에 초대장이 누락되었습니다.

나는 턴 기반 성냥을 GKTurnBasedMatch 및 친구들과 설정 중입니다. 로컬 플레이어의 인증이 완벽하게 작동합니다. GKTurnBasedMatch 클래스 메서드를 사용하면 loadMatchesWithCompletionHandler:은 현명하게 GKTurnBasedMatch 개체를 반환합니다. 새로운 경기를 시작하고 Game Center 친구들에게 초대하려면 표준 GKTurnBasedMatchmakerViewController을 사용합니다.

GKTurnBasedMatchmakerViewController으로 일치 항목을 만들면 게임 제작자의 경우 속성 인 showExistingMatches이 나타나면 해당 항목이 나타납니다.

그러나 다른 플레이어를 을 사용하여 초대하면 수신하는 플레이어는 초대를받지 못합니다. 의 "초대 된"제목이있는 Game Center 푸시 알림 및 게임 없음 (1 회 또는 2 회 및 산발적으로 제외) 게임이 없습니다.

이상하게도 게임을 시작한 사용자가 초대로 만든 게임을 끝내면 해당 게임 플레이어는 게임 오버 (Game Over) 게임 센터 알림을 받게됩니다.

loadMatchesWithCompletionHandler:를 사용

, 초청 선수합니다 (participant의에서 올바른 playerID 값의 participant들에 대한 올바른 GKTurnBasedParticipantStatus)에 대한 반환 matches 메이크업 감각,하지만 아무것도 초대 플레이어 아예 표시되지 않습니다.

저는 두 개의 별도 장치를 사용하고 있습니다. 둘 다 Game Center의 샌드 박스 모드에 확실히 로그인되어 있으며 iTunes Connect에 모든 설정이되어 있습니다. 두 게임 센터 계정 모두 초대를 수락하도록 설정되어 있습니다.

사람은 지금까지 이런 일을 본 적있어?

+0

당신은'GKTurnBasedEventHandlerDelegate'에 가입하고 있습니까? 위의 메시지가 GameCenter 앱 자체에서 시작된 것 같아서 문제가 아닌지 잘 모르겠습니다. 밖을 내다보기위한 또 하나의 엣지 케이스. – livingtech

+0

좋습니다. 내 문제는 모든 것을 처리하기 전에 모든 방법을 사용했습니다. Game Center의 푸시 알림 자체가 나타나지 않았습니다. 이상한 부분이었습니다. 문제를 해결했다고 생각합니다 (답변 참조). 이제 그들이 올 때 GKTurnBasedEventHandlerDelegate 등으로 제대로 처리되는지 확인하는 작업이 이루어집니다. –

답변

2

가능한 해결책 : 초청자가 첫 번째 이동을하고 메시지 endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:이 전송되었을 때 첫 번째 인수에 적절한 참가자를 보내지 않아서 차례가 초대 된 사람으로 설정되지 않았습니다.