2012-04-07 9 views
4

Ich beende gerade ein Update für ein 4-Spieler Game Center-fähiges Spiel und habe plötzlich Probleme mit falschen Unterbrechungsnachrichten, die ich in der vorherigen Version nicht hatte. Was noch seltsamer ist, ist, dass nicht alle mit dem Match verbundenen Geräte die Nachricht empfangen. Ein Gerät wird denken, dass der Player nicht verbunden ist, aber es gibt immer noch Nachrichten, die von dem (angeblich) getrennten Player an die anderen Spieler weitergegeben werden.Spiony Game Center-Player Nachrichten trennen

Diese Nachrichten kommen direkt aus der Spielinstanz via Übereinstimmung: player: didChangeState: Nachrichten, also glaube ich nicht, dass es irgendwas in meinem Code wäre, aber es ergibt keinen Sinn. Das Spiel kann für 10+ Minuten ohne Probleme weiterlaufen und sobald ein Fehler auftritt, fällt der Rest ziemlich schnell aus.

Ich habe das Internet mit jedem Suchbegriff gesucht, den ich mir vorstellen kann, um zu sehen, ob andere diese Art von Verhalten gesehen haben und es scheint, dass es einzigartig ist. Es muss etwas in meinem Code sein, aber ich kann nicht einmal darüber nachdenken, wie ich dem auf den Grund gehen soll.

Jede Hilfe wäre sehr dankbar, Cameron

+0

Sorry, war da nicht ganz klar. Ich gehe davon aus, dass die Verbindung zwischen den Playern von den Servern von Apple Game Center getrennt wird. Daher würde ich annehmen, dass in meinem Code nicht etwas enthalten sein wird, das diese Nachrichten erzeugt. Wie ich in meinem letzten Absatz gesagt habe, da dies ein einzigartiges Problem zu sein scheint, kann ich nur annehmen, dass es etwas in meinem Code ist. Ich weiß einfach nicht, wie ich das debuggen soll. – cambrose

+0

Ich habe eine Reihe von Posts zu Problemen in der Game Center Sandbox gesehen. Könnte das eine Anomalie der Sandbox sein? Scheint auch unwahrscheinlich. Würde nicht für eine sehr gute Testumgebung sorgen. – cambrose

+0

Haben Sie Ihren Code viel eingeloggt? Comms Timing-bezogene Bugs sind schwer zu finden ohne sie (und manchmal mit!) –

Antwort

-1

Stellen Sie sicher, dies zu nennen:

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

Nachdem alle Spieler angeschlossen haben. Ich hatte dieses Problem und es scheint in meinem Fall die störenden Unterbrechungen gestoppt zu haben.

+0

Ich habe die gleichen spontanen Unterbrechungen. Calling-finishMatchmakingForMatch hat meiner Situation überhaupt nicht geholfen. – BGreenstone