objective-c - iOS Objective-C : Unbalanced calls to begin/end appearance transitions for <GKModalRootViewController>

标签 objective-c ios game-center transitions

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

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

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

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

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

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

首先打开排行榜的部分代码是:

-(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。

最佳答案

[...] the first time a user clicks on this the user is asked to sign in - with an existing account or a new account

您如何呈现此界面供用户登录?它也是模态视图 Controller 吗?如果是这种情况,也许您没有正确地呈现和关闭这两个模态视图 Controller 。来自 Apple 的 docs :

Any view controller object can present a single view controller at a time.

在呈现 GKLeaderboardViewController 之前尝试使用登录界面关闭 View Controller。

关于objective-c - iOS Objective-C : Unbalanced calls to begin/end appearance transitions for <GKModalRootViewController>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11933401/

相关文章:

ios - UIView Gradient 使用 CAGradientLayer 总是蓝色

ios - 当我切换沙箱环境时,PayPal iOS-Sdk 发出警报

iphone - GameCenter 玩家数据

ios - localPlayer是否仍然通过身份验证,即使身份验证失败

ios - 如何插入 Collection View 部分

iOS 10 GameCenter 通过消息发送邀请

ios - 单例归档不取消归档可用实例

objective-c - 如何让程序在登录时自动启动?

ios - 收藏 View 动画

iphone - 制作一个应用程序引擎以用于类似的应用程序,但用于不同的客户端