не отправляет счет в игровой центр - PullRequest
0 голосов
/ 16 декабря 2011

Я хочу ввести GameCenter в моём приложении. поэтому я делаю новый проект "GameCenter" для тестового GameCenter я ссылался "http://www.youtube.com/watch?v=9avpP0hYwik" видео. но Я использую xcode 4.2, поэтому удалите "autorelease"
приложение не отправляет счет в gamecenterhelp плз :-( мой код

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 Ответ

0 голосов
/ 28 февраля 2012

Вы уверены, что идентификатор вашей таблицы лидеров правильный?

Получаете ли вы какие-либо сообщения об ошибках в ваших блоках запросов?

Если вы не получили ответа на ваши асинхронные блоки запросов, это означает, что gamecenter не готов обработать ваш запрос. Вам нужно подождать несколько часов, если вы только что создали таблицу лидеров.

...