- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在初始化时使用函数[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 应用的所有所有可用成就的信息.描述也提供成就的标识符。
对于新的成就,流程如下:
GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:
)GKAchievementDescription
中的数据创建。 (GKAchievementDescription reportAchievements:withCompletionHandler:
)GKAchievement loadAchievementsWithCompletionHandler:
)关于iphone - 从未完成 [GKAchievement loadAchievementsWithCompletionHandler :],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101257/
我正在制作一款游戏,该游戏会在玩家达到特定分数时使用 Game Center 成就。然而,在我的测试中,我意识到每当达到一定分数时就会显示横幅,无论它们是否已经这样做了。 我想我需要使用 loadAc
我在初始化时使用函数[GKAchievement loadAchievementsWithCompletionHandler:] 恢复当前玩家成就。但是从未调用过 completionHander。
我是一名优秀的程序员,十分优秀!