2012-05-02 103 views
0

我打電話領先榜是這樣的:遊戲中心呼叫排行榜功能沒有響應?

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

這是正常的嗎?

+0

你在用什麼文件使用這種方法? –

+0

我打電話給我的Game.m文件 – Raoul

回答

2

你應該在viewController中調用該函數。在我的應用程序之一是代碼看起來是這樣的:

-(IBAction)showLeaderBoard { 

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

}

,然後你也應該實現委託方法:

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

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

這裏1S是領先榜你標識符在iTunes Connect中創建。希望這可以幫助。

編輯:由於您仍有問題,請查看這些教程。它們涵蓋了關於領導者和成就的一切。

1st part

2nd part

+0

看看這裏:http://pastebin.com/embed_js.php?i=KvnEiSZW – Raoul

+0

@FreeAppMonster檢查我的文章中的編輯 –

0

你要發送的presentModalViewController消息的對象,不承認它。所以你在你的「Game.m」文件中寫的類不會從UIViewController繼承。不知道你正在使用什麼框架,但你必須啓動一個UIViewController實例來顯示GameCenter視圖。