2012-05-02 2 views
0

Я звоню в таблице лидеров, как это:Игровой центр Calling Leaderboard не отвечает?

-(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. Dunno, какие рамки вы используете, но вам нужно будет инициализировать экземпляр UIViewController, чтобы показать представление GameCenter.

Смежные вопросы