Tag: 成就

默认游戏中心视图控制器中的成就顺序

有什么方法可以控制Game Center成就视图控制器(GKAchievementViewController)中显示的成就吗? 目前,它们是按照我在iTunes Connect中创build的顺序显示的。 我确实看到,也可以导入所有成就信息,以便在自定义成就查看器中使用,我可以自己设置顺序,但是如果可能的话,我宁愿使用已经存在的查看器。

检查您是否已经在Game Center / GameKit中解锁了成就

我已经在这个很长时间了。 我明白如何在Game Center中取得成就,甚至还有一个完整的消息系统。 但我不知道如何检查一个成就已经被解锁:( 显然这不起作用: GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; NSLog(@"%i",achievement.completed); 它始终跟踪“0”。 解锁成就确实奏效: GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; achievement.percentComplete = 100; 所以并不是我在整个成就方面犯了错误,只是GameKit不能告诉我成就是否已经被解锁了。 如果有人能帮助我,我将非常感激!

离线游戏中心iOS成就

在离线模式下(例如打开飞行模式),试图找出在Game Center中使用“成就”的最佳方式。 据我所知,在iOS 5+游戏中心负责离线提交的成就和分数。 它就像一个代理caching,并在用户下线时将它们提交到在线游戏中心。 考虑到这一点,我是这样做的: 在用户身份validation成功之后,我加载成就并将它们存储在字典中。 [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *gcAchievments, NSError *error) { if (error) { ..skipped ..} //This dictionary will store current achievments, so that we didn't submit them //once more and didn't show notification. achievments = [[NSMutableDictionary alloc] initWithCapacity:gcAchievments.count]; //Storing achievments in dictionary for(GKAchievement *a in gcAchievments) [achievments setObject:a forKey:a.identifier]; }]; 之后当我提交新的成就时,我会检查字典中的成就,如果成绩已经完成,请不要提交。 如果我提交成果,我也把它添加到成绩字典(内存),立即重新指出,这个成就已经提交。 […]