Как определить поддержку Game Center? - PullRequest
1 голос
/ 04 октября 2010

В документации Apple для Game Center говорится, что с помощью этого кода можно определить, доступен ли Game Center:

+ (BOOL) isGameCenterAvailable {
  Class gcClass = (NSClassFromString(@"GKLocalPlayer"));

  NSString *reqSysVer = @"4.1";
  NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
  BOOL osVersionSupported = ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending);

  return (gcClass && osVersionSupported);
}

Но он возвращает YES на моем iPhone 3G, на котором нет Game Center.Есть кто-нибудь, кто решил это?

Ответы [ 3 ]

2 голосов
/ 08 ноября 2011

На самом деле вы можете проверить, может ли ваше приложение открыть один из игровых центров: схемы URL.

BOOL canOpenGC = [[UIApplication sharedApplication] canOpenURL:[NSURL urlWithString:@"gamecenter:/me/account]];

См. Этот ответ StackOverflow по этому вопросу

1 голос
/ 05 октября 2010

Я не пробовал это, но попробуйте получить синглтон местного игрока:

if (![gcClass localPlayer]) {
    // then you havnt got game center support
}
0 голосов
/ 27 ноября 2010

Ответ в том, что вы не можете. Apple хочет, чтобы мы попытались войти, чтобы увидеть, есть ли там Game Center. Странно, но это так.

...