如何检测Game Center支持?

时间:2010-10-04 19:06:10

标签: iphone ios game-center

在Game Center的Apples文档中,它说使用此代码来检测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);
}

但它在没有Game Center的iPhone 3G上返回YES。有谁解决了这个问题?

3 个答案:

答案 0 :(得分:2)

实际上,您可以检查您的应用程序是否可以打开其中一个gamecenter:URL方案。

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

See this StackOverflow answer on the matter

答案 1 :(得分:1)

我没试过这个,但试着让当地玩家单身:

if (![gcClass localPlayer]) {
    // then you havnt got game center support
}

答案 2 :(得分:0)

答案是你做不到。 Apple希望我们尝试登录以查看Game Center是否存在。奇怪,但就是这样。