游戏中心不在ipod / iphone上工作

时间:2011-01-18 00:15:07

标签: iphone cocos2d-iphone game-center

大家好 使用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相同,所以我不知道它为什么不显示。任何想法为什么会这样?欢呼声

3 个答案:

答案 0 :(得分:0)

就我而言,[GKLeaderboardViewController init]如果设备未通过Game Center验证,则会返回nil。您确定在导致问题的设备上进行了正确的身份验证吗?

答案 1 :(得分:0)

我怀疑如果你的UIKit游戏中心项目在iPad上工作正常而不是iPhone / iPod,可能会出现一些问题。将应用转换为通用时,我遇到了类似的声音问题。

如果您创建一个新的独立iPhone / iPod项目,仅用于测试,游戏中心显示效果如何?

答案 2 :(得分:0)

好吧,我最终得到了它。 cocos2d 0.99.5确实对这是如何工作做了一些改变。以下代码正确显示排行榜

-(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];


    }

希望这可以帮助任何陷入同样问题的人