大家好 使用iphone / ipod / ipad应用程序的通用版本。我试图让游戏中心在这个应用程序中工作。我现在让游戏中心在ipad上工作,但由于某种原因,它仍然无法在ipod / iphone上工作,我不知道为什么。
highScoreVC=[[UIViewController alloc] init];
GKLeaderboardViewController *leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease];
if (leaderboardController != nil)
{
leaderboardController.leaderboardDelegate = self;
[[[CCDirector sharedDirector] openGLView] addSubview:highScoreVC.view];
[highScoreVC presentModalViewController:leaderboardController animated: YES];
}
这是我显示排行榜的代码,它每次都适用于ipad,但正如我所说的不适用于其他设备。代码仍被调用与ipad相同,所以我不知道它为什么不显示。任何想法为什么会这样?欢呼声
答案 0 :(得分:0)
就我而言,[GKLeaderboardViewController init]
如果设备未通过Game Center验证,则会返回nil
。您确定在导致问题的设备上进行了正确的身份验证吗?
答案 1 :(得分:0)
我怀疑如果你的UIKit游戏中心项目在iPad上工作正常而不是iPhone / iPod,可能会出现一些问题。将应用转换为通用时,我遇到了类似的声音问题。
如果您创建一个新的独立iPhone / iPod项目,仅用于测试,游戏中心显示效果如何?
答案 2 :(得分:0)
-(UIViewController*) getRootViewController{
return (UIViewController*)([(BubbleDreamsAppDelegate*) [[UIApplication sharedApplication] delegate] viewController]);
}
然后
highScoreVC = [self getRootViewController];
GKLeaderboardViewController *leaderboardController = [[[GKLeaderboardViewController alloc] init] autorelease];
if (leaderboardController != nil)
{
leaderboardController.leaderboardDelegate = self;
[highScoreVC presentModalViewController:leaderboardController animated: YES];
}
希望这可以帮助任何陷入同样问题的人