Einladung eines Game Center-Freundes zu einer Übereinstimmung programmgesteuert

8

Bietet GameKit die Möglichkeit, einen bestimmten Game Center-Freund programmtechnisch zu einem Match einzuladen, d. h. ohne den GC ViewController zu präsentieren? Die folgende handleInviteFromGameCenter-Dokumentation scheint zu implizieren, dass Sie GKMatchRequest.playersToInvite auffüllen und mit [GKTurnBasedMatch findMatchForRequest] verwenden können:

  

Wenn Ihr Delegat diese Nachricht erhält, sollte Ihre Anwendung ein neues GKMatchRequest-Objekt erstellen und den playersToInvite-Parameter der playersToInvite-Eigenschaft der Abgleichanforderung zuweisen. Dann kann Ihre Anwendung entweder die GKTurnBasedMatch-Klassenmethode findMatchForRequest aufrufen: withCompletionHandler: um eine Übereinstimmung programmgesteuert zu finden oder sie kann mithilfe der Anforderung einen neuen GKTurnBasedMatchmakerViewController instanziieren, um eine Benutzeroberfläche für den Player anzuzeigen.

Aber ich finde, dass, wenn findMatchForRequest meinen Completion-Block mit der aufgefüllten Übereinstimmung aufruft, die GameCenter-ID, die ich an sie übergeben habe, nicht als zweiter Spieler festgelegt ist. Stattdessen ist es leer und der Status ist "übereinstimmend". Und daher, wenn ich endTurnWithNextParticipant anrufe, ist es erfolgreich, aber die Einladung wird nicht auf meinem zweiten Gerät empfangen. Dies veranschaulicht, was ich mache:

%Vor%

Und wie die Person, die ein ähnliches Problem zu haben scheint, Game Center, das Freunde progammatisch einlädt , wenn ich ein Aufruf an den View-Controller, in meinem Fall GKTurnBasedMatchmakerViewController, scheint alles zu funktionieren.

Danke.

AKTUALISIERT: Ich habe in der Präsentation eines Apple-Entwicklers zum rundenbasierten GC eine Erwähnung von etwas wie: "Wenn Sie einen GC-Freund einladen möchten, bitten wir Sie, durch den GC-View-Controller zu gehen.

Jeder Einblick geschätzt. Danke noch einmal.

    
leontx 09.12.2011, 21:18
quelle

1 Antwort

7

Ich wollte Folgendes mitteilen: Ab iOS 5 gibt es keine Möglichkeit, Freunde eines Spielcenters zum Spielen einzuladen, ohne den vordefinierten GKTurnBasedMatchmakerViewController-Flow durchlaufen zu müssen, der für das Starten eines Matches in Echt optimiert ist Zeit, führt den Benutzer durch drei verschiedene Bildschirme.

Nachdem ich von Apple Dev Support dazu aufgefordert wurde, habe ich eine Feature-Anfrage eingereicht, um einen einfachen, einseitigen View-Controller aufrufen zu können, der es dem Benutzer ermöglicht, eine Einladung / "recommend game" -Meldung über das Spiel zu senden Center.

UPDATE FÜR iOS 6: Ich freue mich mitteilen zu können, dass es so aussieht, als ob dies in iOS 6 angesprochen worden wäre. Mein ursprüngliches Programmbeispiel (nicht UI) oben funktioniert jetzt wie ursprünglich erwartet.

    
leontx 17.02.2012, 05:15
quelle

Tags und Links