我一直在尝试在我的 Sprite Kit 游戏中实现 Game Center,但每次我尝试展示排行榜时......
-(void)showLeaderboard:(UIViewController*)gcvc {
GKGameCenterViewController *leaderboardController = [[GKGameCenterViewController alloc] init];
if (leaderboardController != NULL)
{
leaderboardController.leaderboardIdentifier = @"Game_Leaderboard";
leaderboardController.viewState = GKGameCenterViewControllerStateLeaderboards;
leaderboardController.gameCenterDelegate = self;
UIViewController *vc = self.view.window.rootViewController;
[vc presentViewController: leaderboardController animated: YES completion:nil];
}
}
游戏在启动时崩溃并出现以下错误:
[UIView setShowsDrawCount:]:无法识别的选择器发送到实例 0x178169e40 (lldb)
我查找了相关问题,所有问题都建议将 IB 中的 View 类更改为 SKView 类,但没有运气。异常断点停在以下行:
SKView *spriteView = (SKView *)self.view;
spriteView.showsDrawCount = YES;
并且视图显然是SKView类型,但它仍然说spriteView是UIView类型。我不确定这是否重要,因为游戏的主视图控制器是 UIViewController 的子类,这是呈现游戏中心排行榜所需要的,所以我不知道如何修复这个错误。