游戏中心成就问题

时间:2015-10-16 19:26:45

标签: ios itunesconnect game-center

我最近决定为已经在App Store上存放多年的游戏增加成就,而且我在使它们工作方面遇到了问题。

我使用以下代码发布成就:

onRestoreInstanceState()

GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier]; [achievement setPercentComplete:100.0]; [GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error){ }]; 只记录reportAchievements

我想知道它是否与成就尚未存在且Apple已移除沙盒服务器这一事实有关。但它们已在iTunes Connect中注册,我使用的是测试用户。

同样重要的是要注意此应用程序是从其他开发人员转移的。

对于我尝试使用的应用ID:

  • no bundle for bundleID: (null)
  • com.olddeveloper.ach_id
  • com.olddeveloper.appid.ach_id
  • ach_id
  • com.newdeveloper.ach_id

自转移之前一直存在的排行榜仍在使用,它使用的是旧版开发人员的ID。

我甚至尝试使用第一个答案here中的代码获取所有成就的列表,但它仍然说com.newdeveloper.appid.ach_id

修改

我发现即使它说no bundle for bundleID: (null),它仍会正确返回所有成就的列表。我认为这个消息只是系统中的一些小问题,无论如何它都可以工作。

那就是说,我仍然无法使用任何ID组合解锁成就。

3 个答案:

答案 0 :(得分:1)

对我来说,问题是成就正在解锁,但没有显示。我不知道有什么方法可以不显示信息,但这是无害的。

答案 1 :(得分:1)

我遇到了同样的问题。谨慎地调查我的调试器中的代码,我开始弄清楚如果我使用GKScore代替GKAchievement,警告消息就会消失。 所以拇指规则是检查你的成就和排行榜。使用GKScore代替GKAchievement。

[ GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
    if ( error != 0 )
        NSLog( @"Reporting of %@ failed: %@", achievement, [ error localizedDescription ] );
}];

你也可以看到雷达。它没有。 rdar:// 23149890

答案 2 :(得分:0)

我在意外尝试报告我的应用中未在iTunes Connect中配置的成就时收到了相同的错误消息。

因此,以下步骤可能会对您有所帮助:

  1. 检查iTunes Connect是否缺少成就
  2. 检查您的成就ID是否存在拼写错误