0

i want input gamecenter in my app so i make new project "gamecenter" for test gamecenter i referenced "http://www.youtube.com/watch?v=9avpP0hYwik" video. but I use xcode 4.2 so delete of "autorelease"
app does not submit the score at gamecenterhelp plz :-( my code is

viewController.h

 #import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    IBOutlet UILabel *scoreText;
    int *scoreInt;
}

-(IBAction)subScore:(id)sender;
-(IBAction)showLeader:(id)sender;
-(IBAction)addScore:(id)sender;

@end

ViewController.m

#import "ViewController.h"
#import <Gamekit/Gamekit.h>


@implementation ViewController

-(IBAction)subScore:(id)sender
{
    GKScore *scoreReporter = [[GKScore alloc] initWithCategory:@"1234567"];
    scoreReporter.value = scoreInt;

    [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
        if (error != nil)
        {
            NSLog(@"failed");
        }
        else
        {
            NSLog(@"Succeeded");
        }
    }];
}
-(IBAction)showLeader:(id)sender
{
    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
    if (leaderboardController != nil) 
    {
        leaderboardController.leaderboardDelegate = self;
        [self presentModalViewController:leaderboardController animated:YES];
    }
}

-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [self dismissModalViewControllerAnimated:YES];
}

-(IBAction)addScore:(id)sender
{
    scoreInt +=1;
    NSString *clicks = [NSString stringWithFormat:@"%d", scoreInt];
    scoreText.text = clicks;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
        if (error == nil) 
        {
            NSLog(@"Authentication Successful!");
        }
        else
        {
            NSLog(@"Authentication Failed!");
        }
    }];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end

1 Answers1

0

Are you sure your leaderboard category id is correct?

Do you get any error messages in your request blocks?

If you get no response to your asynchronous request blocks, it means gamecenter is not ready to handle your request. You need to wait for a few hours if you just created the leaderboard.

erkanyildiz
  • 13,044
  • 6
  • 50
  • 73