2012-04-07 7 views
4

4 인 게임 센터 지원 게임에 대한 업데이트를 완료하고 이전 버전에 없었던 가짜 플레이어 연결 해제 메시지에 갑자기 문제가 발생했습니다. 더 이상한 것은 경기에 연결된 모든 기기가 메시지를 수신하고있는 것은 아닙니다. 한 장치는 플레이어의 연결이 끊어 졌다고 생각하지만 아직 연결이 끊긴 플레이어에서 다른 플레이어로 메시징이 전달됩니다.가짜 게임 센터 플레이어 연결 끊기 메시지

이 메시지는 match : player : didChangeState : messages를 통해 일치 인스턴스에서 곧바로 전달되므로 내 코드에 아무 것도 없을 것이라고 생각하지만별로 의미가 없습니다. 게임은 아무런 문제없이 10 분 이상 계속 진행할 수 있으며, 일단 잘못된 연결 해제가 발생하면 나머지는 꽤 빨리 종료됩니다.

나는 다른 사람들이 이런 종류의 행동을 보았는지를 알기 위해 생각할 수있는 모든 검색어로 웹을 검색했으며 그것이 고유 한 것처럼 보입니다. 그것은 내 코드에서 뭔가가 있어야하지만, 심지어 그것의 바닥에 도착하는 방법을 생각할 수 없다.

어떤 도움도 대단히 감사하겠습니다, 카메론

+0

죄송합니다. 분명히 명확하지 않았습니다. 나는 플레이어가 애플의 게임 센터 서버에서 연결을 끊었다 고 가정하고있다. 그래서 나는 그 코드를 생성하는 코드에 뭔가가 없을 것이라고 가정한다. 마지막 단락에서 언급했듯이 이것이 고유 한 문제인 것처럼 보일 수 있으므로 필자는이 코드가 내 코드에 있다고 가정 할 수 있습니다. 나는 이것을 디버깅하는 방법을 모른다. – cambrose

+0

Game Center 샌드 박스에서 문제에 관한 여러 게시물을 보았습니다. 이것이 샌드 박스의 예외 일 수 있습니까? 잘 보이지 않습니다. 아주 좋은 테스트 환경을 만들지는 않을 것입니다. – cambrose

+0

코드에 많은 로깅을 추가 했습니까? Comms timing 관련 버그는 (그리고 때로는 그것을 제외하고) 추적하기가 어렵습니다. –

답변

-1

이 전화를해야합니다 :

//Finalize 
    [[GKMatchmaker sharedMatchmaker] finishMatchmakingForMatch:match]; 

를 모든 플레이어가 연결 한 후. 나는이 문제를 겪고 있었고 그것은 내 경우에 일시적인 연결을 끊었을 것으로 보인다.

+0

나는 자발적으로 끊어지는 문제가 있습니다. -finishMatchmakingForMatch를 호출해도 내 상황이 전혀 도움이되지 않았습니다. – BGreenstone