Come faccio a ottenere uno status di GKPlayer dal Game Center?
-
04-10-2019 - |
Domanda
Quando ottengo un GKLocalPlayer
o l'uso loadPlayersForIdentifiers:identifiers withCompletionHandler:
per ottenere un elenco o singoli alias GKPlayer
, l'oggetto GKPlayer
quando registrato, simile a questa:
2010-09-23 10:39:01.759 Cee-lo[76500:207] Players loaded by identity: (
"<GKPlayer 0x84125a0>(playerID: G:1234567890, alias: typeonetester1, status: Adding test friends., rid:(null))",
"<GKPlayer 0x8412530>(playerID: G:1234567890, alias: typeonetester2, status: Adding Game Center to app, rid:(null))"
)
La mia domanda è, come faccio ad ottenere il status
da questo oggetto, e che cosa è esattamente il tipo di questo oggetto? Non c'è un "liberarsi" o proprietà "status" nel GKPlayer classe, in modo che quando faccio qualcosa di simile:
GKPlayer *player = [self.friends objectAtIndex:row];
cell.nameLabel.text = player.alias;
cell.statusLabel.text = player.status;
I ottenere una "Richiesta di 'status' membro in qualcosa non una struttura o unione" errore.
Soluzione
Risposta da un ingegnere di Apple:
lo status dei calciatori non è un Proprietà accessibile. Questo è stato cambiato in una delle versioni beta 4.1 e viene notato nel i 4.1 file RELNOTES.
Altri suggerimenti
NSString *desc = player.description;
NSRange range = [desc rangeOfString:@"status:"];
NSString *status = [[desc substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];