Wei*_*ang 4 iphone ios game-center
我使用该函数[GKAchievement loadAchievementsWithCompletionHandler:]恢复当前播放器初始化的成就.但完成汉德从未被称为.
- (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");
}
}];
}
可能是什么问题?
小智 5
它有点晚了,但也许它可以帮助别人.
事实上,GKAchievement loadAchievementsWithCompletionHandler:加载了本地玩家取得进步的所有成就.这意味着,如果在相关的iTunes Connect应用程序中设置了新的成就(没有任何进展),则不会加载它们.必须首先报告一些进展!
在另一方面GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:是为了获得所有有关信息,每一个对关于iTunes Connect的应用程序可用的成就.该描述也提供了成就的标识符.
为了获得新的成就,流程如下:
GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:)GKAchievementDescription.(GKAchievementDescription reportAchievements:withCompletionHandler:)GKAchievement loadAchievementsWithCompletionHandler:)你检查过返回的元素descriptions NSArray不为0吗?
if( !descriptions.count )
printf( "User has not submitted _any_ progress on _any_ achievements\n" ) ;
else for (GKAchievementDescription* desc in descriptions) ..
Run Code Online (Sandbox Code Playgroud)
请注意,descriptions此处的数组仅返回该用户之前在 上提交的进度的成就集合,而不是曾在此应用程序的 GameCenter 上注册的所有成就的数组。
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |