0

Zunächst einmal muss ich sagen, dass ich neu in der iOS-Entwicklung bin.Home Button beendet Multiplayer-Spiel nicht auf Game Center/Gamekit

Mein Problem ist während eines Multiplayer-Spiels mit Game Center. Ich weiß jetzt nicht, wie ich vom Game Center eine Benachrichtigung erhalten kann, wenn der andere Spieler (mein Spiel ist ein 2-Spieler-Spiel) das Spiel mit dem Home-Button des Geräts verlässt.

Ich muss wissen, wenn ein Spieler das Spiel schließt, da das Spiel beim Öffnen immer von vorne beginnt, das heißt, es wird den Begrüßungsbildschirm anzeigen und direkt zum Hauptmenü gehen. Ich habe versucht, eine neue Übereinstimmung zu finden, aber Game Center scheint eine neue Verbindung zu erstellen und nach neuen Spielern zu suchen, während Spieler 2 weiterhin mit Spieler 1 "spielt", ohne dass eine Antwort erfolgt, so dass sein Spiel niemals enden wird.

Jede Methode, didChangeState, matchmakerViewControllerWasCancelled oder authenticationChanged, letzteres unter einer Benachrichtigung, scheint etwas zu tun, wenn die Home-Taste gedrückt wird.

Jede Hilfe wäre zu NSNoficationCenter abonnieren geschätzt werden

Antwort

0

Versuchen Sie herauszufinden, wenn Ihre App im Hintergrund geht:

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(userPressedHomeButton:) 
    name:UIApplicationDidEnterBackgroundNotification object:nil]; 

In Ihrer userPressedHomeButton: Funktion können Sie entscheiden, wie die anderen Spieler benachrichtigen oder suspendieren das Spiel. ABER, Sie müssen schnell handeln, denn iOS lässt Ihre App nach dem Aussetzen nicht länger als ein paar Sekunden laufen.

Als Alternative zu NSNotificationCenter zu abonnieren, können Sie Ihre Implementierung in Ihrem AppDelegate tun:

- (void)applicationWillResignActive:(NSNotification *)notification { } 
Verwandte Themen