Stavo cercando di implementare un listener di eventi in un gioco a turni in modo che un giocatore possa ricevere quando è attivo il suo turno o quando viene invitato da un amico. GKTurnBasedEventHandler è deprecato in IOS 7 e ho letto nella documentazione che dovrei usare GKLocalPlayerListener; ma questo è l'estensione di esso. C'è qualcuno che l'ha già usato, perché non ci sono informazioni da nessuna parte.IOS Game Center GKLocalPlayerListener
Questo è quello che ho provato prima, e non funziona.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer authenticateWithCompletionHandler:^(NSError *error)
{
if (localPlayer.isAuthenticated)
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer registerListener:self];
}
}];
return YES;
}
-(void)handleInviteFromGameCenter:(NSArray *)playersToInvite
{
NSLog(@"test");
}
- (void)player:(GKPlayer *)player receivedTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive
{
NSLog(@"test");
}
hai capito o trovato qualcos'altro su questo? sto riscontrando problemi nell'usare GKLocalPlayerListener. la documentazione e gli esempi disponibili sfruttano ancora API deprecate. – iksnae
Non ancora, altre cose urgenti sono venute fuori, ma se lo farò posterò la soluzione. – Macaret
Funziona per me in una certa misura. I metodi sono analoghi a quelli ora deprecati, tranne che viene passato anche il giocatore corrente. Tuttavia, ciò di cui sto avendo problemi è capire quando deere registrare gli ascoltatori, ad es. quando l'app passa da bg/fg. Questo è stato anche un problema per gli ascoltatori di invito in iOS 6. – Drux