3

我希望有人能够回答我的问题。

在我的应用程序中,我有一个按钮,您可以按下该按钮将您带到我创建的排行榜。在沙盒环境中,用户第一次单击此按钮时,系统会要求用户登录 - 使用现有帐户或新帐户。

如果用户点击使用现有帐户,在验证他们的用户名、密码、GameCenter 显示名称等之后,当屏幕关闭以返回带有排行榜按钮的屏幕时 - 现在没有任何按钮响应。用户被迫退出应用程序(通过双击主页按钮退出实例)并重新打开应用程序,现在他们可以像往常一样玩,甚至可以毫无问题地点击排行榜。

我想知道为什么会这样,我似乎拥有的唯一线索是通过 Xcode 中的输出屏幕,它在运行时显示:

ClubHistory[4989:707] Unbalanced calls to begin/end appearance transitions for <GKModalRootViewController: 0x1bcd90>.

从查找其他问题看来,这可能意味着打开/关闭视图的冲突。但我真的不明白我应该在哪里实现这个。

在第一个实例中打开排行榜的部分代码是:

-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
[self dismissModalViewControllerAnimated:YES];
}

-(IBAction ) showLeaderboard
{
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc]init];
if (leaderboardController != NULL)
    {
    leaderboardController.category = self.currentLeaderBoard;
    leaderboardController.timeScope = GKLeaderboardTimeScopeWeek;
    leaderboardController.leaderboardDelegate = self;
    [self presentModalViewController: leaderboardController animated:YES];
    }
}

也许我需要做的改动就在这里。

我在网上查了类似的问题,但无济于事。有谁知道我该如何解决这个问题?

感谢大家,

安迪。

///// 快速编辑:只是为了澄清我已经为我的应用程序打开了 ARC。

4

1 回答 1

0

[...] 用户第一次单击此按钮时,系统会要求用户登录 - 使用现有帐户或新帐户

您如何呈现此界面以供用户登录?它也是模态视图控制器吗?如果是这种情况,可能您没有正确展示和关闭这两个模态视图控制器。来自 Apple 的文档

任何视图控制器对象一次都可以呈现一个视图控制器。

在呈现GKLeaderboardViewController.

于 2013-04-24T23:04:37.827 回答