What should I use instead of deprecated GKLeaderboardViewController in iOS7?

Azabella

ive updated my app for IOS 7 and game center has a few things deprecated such as loading and dismissing the leaderboard and achievements how can i fix them it says GKLeaderboardViewController is deprecated

- (IBAction)LeaderBoardsButton:(id)sender {
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != NULL)
{
    leaderboardController.leaderboardDelegate = self;
    [self presentViewController:leaderboardController animated:YES completion:NULL];
}
{
    AudioServicesPlaySystemSound(SoundID);
}
}

- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
[self dismissViewControllerAnimated:YES completion:NULL];
{
    AudioServicesPlaySystemSound(SoundID2);
}
}

- (IBAction)AchievementsButton:(id)sender {
GKAchievementViewController *achievements = [[GKAchievementViewController
                                              alloc] init];
if (achievements != nil)
{
    achievements.achievementDelegate = self;
    [self presentViewController:achievements animated:YES completion:NULL];
}
{
    AudioServicesPlaySystemSound(SoundID);
}
}

- (void)achievementViewControllerDidFinish:(GKAchievementViewController
                                        *)viewController
{
[self dismissViewControllerAnimated:YES completion:NULL];
{
    AudioServicesPlaySystemSound(SoundID2);
}
}

i am reporting the score like this

- (IBAction)ShareScore:(id)sender {
[self.gameCenterManager reportScore: counter forCategory: self.currentLeaderBoard];

GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
if (leaderboardController != NULL)
{
    leaderboardController.category = self.currentLeaderBoard;
    leaderboardController.timeScope = GKLeaderboardTimeScopeToday;
    leaderboardController.leaderboardDelegate = self;
    [self presentViewController:leaderboardController animated:YES completion:NULL];
}
{
    AudioServicesPlaySystemSound(SoundID);
}
}
Greg

iOS 7 combines the leaderboards, achievements, etc. controllers together into the GKGameCenterViewController class. You use the viewState parameter to control which view you want displayed.

You'll want to do something like this to present/dismiss the leaderboards:

- (void) presentLeaderboards {
    GKGameCenterViewController* gameCenterController = [[GKGameCenterViewController alloc] init];
    gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
    gameCenterController.gameCenterDelegate = self;
    [self presentViewController:gameCenterController animated:YES completion:nil];
}

- (void) gameCenterViewControllerDidFinish:(GKGameCenterViewController*) gameCenterViewController {
    [self dismissViewControllerAnimated:YES completion:nil];
}

Similarly, for presenting achievements, you can do this:

- (void) presentAchievements {
    GKGameCenterViewController* gameCenterController = [[GKGameCenterViewController alloc] init];
    gameCenterController.viewState = GKGameCenterViewControllerStateAchievements;
    gameCenterController.gameCenterDelegate = self;
    [self presentViewController:gameCenterController animated:YES completion:nil];
}

Reporting score would look something like this:

- (void) reportHighScore:(NSInteger) highScore forLeaderboardId:(NSString*) leaderboardId {
    if ([GKLocalPlayer localPlayer].isAuthenticated) {
        GKScore* score = [[GKScore alloc] initWithLeaderboardIdentifier:leaderboardId];
        score.value = highScore;
        [GKScore reportScores:@[score] withCompletionHandler:^(NSError *error) {
            if (error) {
                NSLog(@"error: %@", error);
            }
        }];
    }
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

requestAccessToAccountsWithType is deprecated in ios6.1, what should i use instead?

From Java

If `when (a) in x..y` is deprecated, what should I use instead?

From Dev

If window.navigator.userAgent is deprecated, what should I use instead?

From Dev

HttpClient.getParams() deprecated. What should I use instead?

From Dev

UIBarButtonItemStyleBordered is deprecated; what should I do, instead?

From Dev

Since g:remoteFunction in Grails 2.4.X is deprecated what should i use instead?

From Dev

Entity's deprecated in Hibernate 4. So what should I use instead?

From Java

Observer is deprecated in Java 9. What should we use instead of it?

From Dev

Observer is deprecated in Java 9. What should we use instead of it?

From Dev

In what sense, is `lvmdiskscan` deprecated,and we should use `pvs` instead?

From Dev

What to use instead of regionMonitoringAvailable which is deprecated in iOS 7?

From Dev

What to use instead of regionMonitoringAvailable which is deprecated in iOS 7?

From Dev

What should I use, instead of gets?

From Dev

What should I use instead of cl::KernelFunctor?

From Dev

What should I use instead of .__getslice__?

From Dev

What should I use instead of 'lifetime' in this FQL?

From Dev

What should I use instead of isinstance()

From Dev

What pattern should I use in Akka, now that Transactors are deprecated?

From Dev

Scala 2.11 LinkedList is deprecated, what should I use?

From Dev

The type JFreeChartRenderer is deprecated, what method should I use?

From Java

Is `shouldOverrideUrlLoading` really deprecated? What can I use instead?

From Java

Why should eval be avoided in Bash, and what should I use instead?

From Dev

Groovy String.toURL is deprecated - why and what should we use instead?

From Dev

Why is git flow feature checkout being deprecated? What should I be using instead?

From Dev

What to use instead of JFace Actions (since they are deprecated)?

From Dev

Apache CXF LoggingInInterceptor is deprecated - what to use instead?

From Java

What should I use instead of syncdb in Django 1.9?

From Dev

What should I use instead of clutter_score_new?

From Dev

What should I use instead of DS.FixtureAdapter

Related Related

  1. 1

    requestAccessToAccountsWithType is deprecated in ios6.1, what should i use instead?

  2. 2

    If `when (a) in x..y` is deprecated, what should I use instead?

  3. 3

    If window.navigator.userAgent is deprecated, what should I use instead?

  4. 4

    HttpClient.getParams() deprecated. What should I use instead?

  5. 5

    UIBarButtonItemStyleBordered is deprecated; what should I do, instead?

  6. 6

    Since g:remoteFunction in Grails 2.4.X is deprecated what should i use instead?

  7. 7

    Entity's deprecated in Hibernate 4. So what should I use instead?

  8. 8

    Observer is deprecated in Java 9. What should we use instead of it?

  9. 9

    Observer is deprecated in Java 9. What should we use instead of it?

  10. 10

    In what sense, is `lvmdiskscan` deprecated,and we should use `pvs` instead?

  11. 11

    What to use instead of regionMonitoringAvailable which is deprecated in iOS 7?

  12. 12

    What to use instead of regionMonitoringAvailable which is deprecated in iOS 7?

  13. 13

    What should I use, instead of gets?

  14. 14

    What should I use instead of cl::KernelFunctor?

  15. 15

    What should I use instead of .__getslice__?

  16. 16

    What should I use instead of 'lifetime' in this FQL?

  17. 17

    What should I use instead of isinstance()

  18. 18

    What pattern should I use in Akka, now that Transactors are deprecated?

  19. 19

    Scala 2.11 LinkedList is deprecated, what should I use?

  20. 20

    The type JFreeChartRenderer is deprecated, what method should I use?

  21. 21

    Is `shouldOverrideUrlLoading` really deprecated? What can I use instead?

  22. 22

    Why should eval be avoided in Bash, and what should I use instead?

  23. 23

    Groovy String.toURL is deprecated - why and what should we use instead?

  24. 24

    Why is git flow feature checkout being deprecated? What should I be using instead?

  25. 25

    What to use instead of JFace Actions (since they are deprecated)?

  26. 26

    Apache CXF LoggingInInterceptor is deprecated - what to use instead?

  27. 27

    What should I use instead of syncdb in Django 1.9?

  28. 28

    What should I use instead of clutter_score_new?

  29. 29

    What should I use instead of DS.FixtureAdapter

HotTag

Archive