Ich habe ein Problem mit der Anmeldung eines Benutzers im Game Center. Ich präsentiere zuerst die Anmeldedialog direkt nach dem Laden der Anwendung. Wenn der Benutzer abbricht den Dialog, möchte ich ihm die Möglichkeit geben, seine Meinung zu ändern, indem er ein Login-Button in meinem Hauptmenü. Auf iPads mit iOS7 funktioniert die Schaltfläche jedoch nicht alles - das Game Center - Dialogfeld wird nicht angezeigt (es funktioniert ordnungsgemäß auf iOS6). Stattdessen erhalte ich sofort den Fehler "Die angeforderte Operation wurde ausgeführt vom Benutzer abgebrochen oder deaktiviert. "Der gleiche Code wird beim Start der Anwendung aufgerufen und auf den Knopf tippen. Es verwendet die authenticateWithCompletionHandler-Methode und sieht im Prinzip so aus:
%Vor%(Ich weiß, dass die Methode veraltet ist, aber meine Erfahrung mit der neuen war es noch schlimmer).
Das Interessante ist, dass der GC-Dialog erscheint, wenn ich den Anwendung in den Hintergrund und dann wieder in den Vordergrund bringen.
Das Problem, das ich beschreibe, passiert sogar nach dem ersten Abbruch, also denke ich es nicht hat etwas damit zu tun, dass Game Center Anwendungen nach 3 Stops verbietet.
Weiß jemand, wie man das repariert?
In Bezug auf Ihren Kommentar habe ich die Apple-Dokumentation gefunden, in der die Richtlinien von Game Kit erwähnt werden, dass ein Benutzer nicht erneut zur Anmeldung aufgefordert wird, nachdem er die Anmeldung einmal abgebrochen hat.
Es befindet sich in der Game Center Programmieranleitung unter Common Tasks When Working with Players
& gt; %Code%. (Fettschrift gehört mir)
Wichtig: Das Spiel-Kit übernimmt die Abmeldung vom Game Center bei allen Spielen, die Game Center unterstützen. Wenn ein Spieler bereits abgelehnt hat, ein Konto zu erstellen, wird bei der Authentifizierung des Spielers angegeben, dass kein authentifizierter Spieler vorhanden ist. Der Player sieht nie einen Authentifizierungsdialog. Da Game Kit diesen Prozess in allen Spielen abwickelt, sollte Ihr Spiel keinen eigenen Mechanismus enthalten, um die Game Center-Authentifizierung zu deaktivieren oder die Berechtigung eines Spielers zur Authentifizierung anzufordern. Stattdessen sollte Ihr Spiel den Player bei jedem Start authentifizieren und entsprechend reagieren, wenn die Authentifizierung abgeschlossen ist.
Sie können dies bestätigen, indem Sie im Authentication-Handler ein Authenticating a Local Player on the Device
einfügen, das bei jedem Aufruf des Handlers angezeigt wird und ob es erfolgreich war oder fehlgeschlagen ist. Hoffe, das hilft ...
Tags und Links ios game-center