【问题标题】:How to load and sync achievements from Game Center correctly?如何从 Game Center 正确加载和同步成就?
【发布时间】:2012-12-30 19:38:36
【问题描述】:

我现在正在使用 Game Center。我在 ITC 上创建了成就并登录了 Game Center。游戏通知我。没关系。但我必须从游戏中心加载所有成就并检查其进度。我阅读了 Apple Reference,这里是类方法 loadAchivementsWithCompletionHandler:

我有类似的东西,但是当我调用它时,我没有任何结果 - 控制台中没有 NSLog。

[GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) {

    if (error){
        NSLog(@"Error in syncing achievements: %@", error);
    }
    else {
        NSLog(@"Number of achievements: %d", [achievements count]);
    }
}];

如何正确地从 Game Center 获得成就?我认为 achivements 数组应该大于 0,但我不知道 - 不会调用任何 NSLog。

更新!!!

- (void)authenticateLocalUser:(void(^)(UIViewController *))delegate {

if (!_gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if (![GKLocalPlayer localPlayer].authenticated) {

    [[GKLocalPlayer localPlayer] setAuthenticateHandler:^(UIViewController *viewController, NSError *error) {

        if (viewController) {

            delegate((UIViewController *)viewController);
        }
        else {
            [NSThread sleepForTimeInterval:2];
            [sharedHelper syncAchivements:^(NSString *delegate) {

            }];
        }

        if (error) {
            NSLog(@"Error in AuthenticateLocalUser: %@", [error description]);
        }
    }];
} else {
    NSLog(@"Already authenticated!");
}

}

我在身份验证后调用我上面的 syncAchievement: 方法,我得到了响应:Number of achievements: 0 但我的应用创建了 2 个成就。问题出在哪里?

更新 2!!!

我看到 loadAchievementWithCompletionHandler 方法只加载有一些进展的成就。这个我明白了。。

【问题讨论】:

    标签: objective-c sync game-center achievements


    【解决方案1】:

    我看到loadAchievementWithCompletionHandler: 方法只加载有一些进展的成就。我明白这一点..这是一个答案。一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多