无法更新gamecenter高分

时间:2017-10-30 15:10:57

标签: ios objective-c cocos2d-iphone game-center

我正在尝试更新游戏中心排行榜的高分 我使用以下代码

- (void) reportScore: (int64_t) score forLeaderboardID: (NSString*) identifier
{
    if([GKLocalPlayer localPlayer].authenticated == YES)
    {
        NSLog(@"%@",[[GKLocalPlayer localPlayer] playerID]);
        NSString *pId=[[GKLocalPlayer localPlayer] playerID];
        NSString* PlayerId = [NSString stringWithFormat: @"%@",pId];

        NSString *alias = [GKLocalPlayer localPlayer].alias;
        NSString *name = [GKLocalPlayer localPlayer].displayName;


        NSLog(@"%@",PlayerId);
        NSLog(@"%@",alias);
        NSLog(@"%@",name);

        NSArray *playerArray=[NSArray arrayWithObject: PlayerId];
        NSLog(@"%@",[playerArray objectAtIndex:0]);
        NSString *String = [[NSString stringWithString:[playerArray objectAtIndex:0]] stringByReplacingOccurrencesOfString:@"G:" withString:@""];
        GKPlayer* player= NULL;
        GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier: identifier];


//        GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier:identifier player:String];
        scoreReporter.value = score;

        //    scoreReporter.context = 0;

        NSArray *scores = @[scoreReporter];
        [GKScore reportScores:scores withCompletionHandler:^(NSError *error) {
            //Do something interesting here.
            [[[[UIAlertView alloc] initWithTitle: @"GameCenter" message: @"Score Submitted Successfully" delegate: NULL cancelButtonTitle: @"OK" otherButtonTitles: NULL] autorelease] show];
        }];

    }
}

我可以在itunes上创建排行榜后第一次发布得分,但只是在提交得分后第一次我无法更新自己的得分 我做了谷歌搜索,所以有些人说我需要使用没有玩家ID的玩家ID我无法更新玩家分数

我正在使用上面第一次运行的代码 任何人都可以告诉我如何更新球员的得分 任何帮助或代码片段都会很棒。先谢谢

1 个答案:

答案 0 :(得分:0)

它可能正在使用此代码。您应该通过NSNotificationCenter尝试呼叫功能。

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(reportScore:)
                                             name:@"ReportScore"
                                           object:nil];

-(void)reportScore:(NSNotification *)notification;

我希望能帮到你这个代码。