Próbowałem zaimplementować detektor zdarzeń w grze turowej, aby gracz mógł odbierać, gdy jego kolej jest aktywna lub gdy jest zaproszony przez znajomego. GKTurnBasedEventHandler jest przestarzałe w IOS 7 i czytam w dokumentacji, że powinienem używać GKLocalPlayerListener; ale to jest jego zasięg. Czy jest ktoś, kto już go użył, ponieważ nigdzie nie ma informacji.Centrum gier IOS GKLocalPlayerListener
To jest to, co próbowałem wcześniej, i to nie działa.
- (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");
}
wymyśliłeś lub znalazłeś coś jeszcze na ten temat? Mam problem ze znalezieniem czegokolwiek na temat używania GKLocalPlayerListener. dostępna dokumentacja i przykłady nadal wykorzystują przestarzałe interfejsy API. – iksnae
Jeszcze nie, pojawiły się inne pilne sprawy, ale jeśli to zrobię, opublikuję rozwiązanie. – Macaret
To działa dla mnie w pewnym stopniu. Metody są analogiczne do tych teraz uznanych za przestarzałe, z wyjątkiem tego, że obecny gracz również został zaliczony. Jednak mam problem z ustaleniem, kiedy należy wyrejestrować odbiorniki np. gdy aplikacja przełącza się między bg/fg. Był to również problem polegający na zaproszeniu słuchaczy w iOS 6. – Drux