Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 按标识符检索游戏中心成绩_Iphone_Ios_Game Center_Achievements - Fatal编程技术网

Iphone 按标识符检索游戏中心成绩

Iphone 按标识符检索游戏中心成绩,iphone,ios,game-center,achievements,Iphone,Ios,Game Center,Achievements,我有一个关于游戏中心成就的问题。是否可以通过标识符检索成就的名称/描述?我试图避免用对应的名称对每个标识符进行硬编码,那么是否有一种解决方案可以获得名称? 谢谢 当然,这正是为什么iTunes Connect内部有对成就(以及排行榜)的本地化支持 但是,无法根据游戏中心的ID向其询问一项成就的本地化信息。相反,您询问有关所有成就的信息,这些信息为您提供了一组GKAchievementDescription对象,最好将这些对象放入一个字典中,其中键是成就ID,然后从该字典中选择一个适当的GKAch

我有一个关于游戏中心成就的问题。是否可以通过标识符检索成就的名称/描述?我试图避免用对应的名称对每个标识符进行硬编码,那么是否有一种解决方案可以获得名称? 谢谢
当然,这正是为什么iTunes Connect内部有对成就(以及排行榜)的本地化支持

但是,无法根据游戏中心的ID向其询问一项成就的本地化信息。相反,您询问有关所有成就的信息,这些信息为您提供了一组GKAchievementDescription对象,最好将这些对象放入一个字典中,其中键是成就ID,然后从该字典中选择一个适当的GKAchievementDescription对象

NSMutableDictionary *achievementDescriptions = [[NSMutableDictionary alloc] init];
[GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:^(NSArray *descriptions, NSError *error) {
    if (error != nil) {
        NSLog(@"Error getting achievement descriptions: %@", error);
    }
    for (GKAchievementDescription *achievementDescription in descriptions) {
        [achievementDescriptions setObject:achievementDescription forKey:achievementDescription.identifier];
    }
}];
然后,当您想要显示某些成就的信息时:

GKAchievementDescription *achievementDescription = [achievementDescriptions objectForKey:currentAchievement.identifier];

此对象为您提供本地化标题、实现和未实现时间的描述、奖励点数以及您在iTunes Connect中指定的图像。

正是我所需要的。感谢一种无比方便的洗液;非常感谢。这基本上弥补了我认为SDK中的一个明显遗漏。。。