objective-c - Game Center调用排行榜功能没有响应?

标签 objective-c ios xcode game-center

我这样调用排行榜:

-(void)viewscores:(SPEvent*)event
{  

    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];      
    if (leaderboardController != nil) {  
        leaderboardController.leaderboardDelegate = self;  

        UIWindow* window = [UIApplication sharedApplication].keyWindow;  
        [window addSubview: self.rootViewController];  
        [self presentModalViewController: leaderboardController animated: YES];  

    }     
}  

当我点击排行榜按钮时,我收到一个错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[UIViewController presentModalViewController:animated:]: unrecognized selector sent to class 0x3e2fc7f8'

这正常吗?

最佳答案

您可能应该在 viewController 中调用该函数。在我的一个应用程序中,代码如下所示:

-(IBAction)showLeaderBoard {

    GKLeaderboardViewController *leaderBoardCont = [[GKLeaderboardViewController alloc] init];
    if (leaderBoardCont) {
        leaderBoardCont.category=@"1S";
        leaderBoardCont.timeScope=GKLeaderboardTimeScopeWeek;
        leaderBoardCont.leaderboardDelegate=self;
        [self presentModalViewController:leaderBoardCont animated:YES];
    }

然后你还应该实现委托(delegate)方法:

-(void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController {

    [self dismissModalViewControllerAnimated:YES];
    viewController = nil;
}

这里的 1S 是您在 iTunes Connect 中创建的排行榜的标识符。希望这会有所帮助。

编辑:由于您仍然遇到问题,请查看这些教程。它们涵盖了有关排行榜和成就的所有内容。

1st part

2nd part

关于objective-c - Game Center调用排行榜功能没有响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10422805/

相关文章:

iphone - 对具有范围对象的 NSMutablearray 进行排序

objective-c - 在边界内旋转图像

ios - 当授权应用程序时,Facebook iOS SDK不调用完成处理程序

ios - 在我的iOS应用中恢复应用内购买方式

ios - 如何解决这个: "Could not cast value of type ' NSTaggedPointerString' (0x105d25e88) to 'NSDictionary' (0x105d261a8).”

swift - 为什么我不能在我的 swift 文件中导入 UIKit?

ios - 让测试应用程序配置文件不会过期

javascript - 模糊功能在 iOS 设备上不起作用

ios - 强制停止后将位置设置为 SKSpriteNode(即设置速度 0)

ios - 有没有办法使用 Geometry Reader 将我的 SwiftUI 图像的宽度定义为相对于屏幕尺寸?