gpt4 book ai didi

iphone - 从未完成 [GKAchievement loadAchievementsWithCompletionHandler :]

转载 作者:可可西里 更新时间:2023-11-01 05:37:34 24 4
gpt4 key购买 nike

我在初始化时使用函数[GKAchievement loadAchievementsWithCompletionHandler:] 恢复当前玩家成就。但是从未调用过 completionHander。

- (void)loadAchievements{    [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error)     {         if (error == nil)     // !!-- if a breakpoint is set here, it would never be reached         {             @synchronized(_achievementsDictionary)             {                 for (GKAchievement* achievement in achievements)                     [_achievementsDictionary setObject:achievement forKey:achievement.identifier];                 NSLog(@"achievements loaded");             }         }         else         {             NSLog(@"Error in loading achievements: %@", error);         }     }];}

但是,一个类似的函数,[GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:] 运行良好:

- (void) retrieveAchievmentMetadata{    [GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:     ^(NSArray *descriptions, NSError *error) {         if (error != nil)         {             NSLog(@"Error in loading achievement descriptions: %@", error);         }         if (descriptions != nil)         {             @synchronized(_achievementsMetaDataDictionary)             {                 for (GKAchievementDescription* desc in descriptions)                 {                     _achievementsMetaDataDictionary[desc.identifier] = desc;                 }             }             NSLog(@"achievement descriptions loaded");         }     }];}

可能是什么问题?

最佳答案

来的有点晚,但也许对其他人有帮助。

事实是 GKAchievement loadAchievementsWithCompletionHandler: 加载本地玩家取得进展的所有成就。这意味着,如果在 iTunes Connect 应用程序中设置了新的成就(没有任何进展),它们将不会被加载。必须先报告一些进展!

另一方面,GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler: 旨在获取有关 iTunes Connect 应用的所有所有可用成就的信息.描述也提供成就的标识符。

对于新的成就,流程如下:

  1. 加载成就描述。 (GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:)
  2. 向 Game Center 报告成就的一些进展。 GKAchievement 可以根据 GKAchievementDescription 中的数据创建。 (GKAchievementDescription reportAchievements:withCompletionHandler:)
  3. 从现在开始,加载成就的进度以在启动时设置您的应用。 (GKAchievement loadAchievementsWithCompletionHandler:)

关于iphone - 从未完成 [GKAchievement loadAchievementsWithCompletionHandler :],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com