Ist a
gültig, auch im Falle eines Authentifizierungsfehlers?Ist localPlayer immer noch authentifiziert, auch wenn die Authentifizierung fehlschlägt
GKLocalPlayer.localPlayer.authenticateHandler =
^(UIViewController *viewController, NSError *error)
{
if (error)
{
bool a = GKLocalPlayer.localPlayer.authenticated;
}
else
{
Dies geschieht zum Beispiel, wenn ich einen authentifizierten Spieler haben, bewegt sich die App in den Hintergrund, deaktiviert das WiFi, und dann die App wieder in den Vordergrund bewegen. Ich hoffe, dass GameCenter nur mit einem zwischengespeicherten Account fortfährt?
Ich finde das Handbuch ein wenig mehrdeutig. Von https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Users/Users.html#//apple_ref/doc/uid/TP40008304-CH8-SW11.
„Sobald Ihr Spiel in den Hintergrund bewegt, wird der Wert des lokalen Spielerobjekts der authentifizierten Eigentums und bleibt ungültig, bis das Spiel in den Vordergrund bewegt sich zurück Sie können nicht den Wert lesen, um zu bestimmen, ob Der Spieler wird immer noch authentifiziert, bis Game Kit den Spieler erneut authentifiziert und den Authentifizierungshandler aufruft.Ihr Spiel muss so tun, als ob es keinen authentifizierten Spieler gibt, bis Ihr Beendigungshandler aufgerufen wird.Nachdem Ihr Handler aufgerufen wurde, ist der in der authentifizierten Eigenschaft gespeicherte Wert gültig nochmal."
Ist der Wert gültig, obwohl die Authentifizierung fehlgeschlagen ist?
In einer mobilen Umgebung nicht Konnektivität garantieren kann, vielleicht Äpfel Ansatz der richtige Weg ist? Das authentifizierte Attribut gibt den Authentifizierungsstatus an, und zwar bei Bedarf mithilfe zwischengespeicherter Informationen. Es garantiert nicht, dass der nächste Netzwerkvorgang erfolgreich sein wird. Wie könnte es sein? –
Messepunkt. Mein Mecker ist, wenn es bereits weiß, dass es keine Verbindung herstellen kann, wie im Flugmodus, und trotzdem authentifiziert gemeldet wird. Oder über die Zwischenspeicherung von Ergebnissen im Cache *, ohne dass es mir mitgeteilt wird. Ich schlug in meinem Fehler vor, es zu einem 3-stage-Wert zu machen: authentifiziert, nicht authentifiziert und zwischengespeichert. Dann werde ich den Zustand, in dem ich mich befinde, vollständig verstehen und entscheiden, wie ich vorgehen soll. Es ist wahrscheinlich ein strittiger Punkt. Ich bezweifle ernsthaft, dass sie etwas verändern werden. – Thunk