检查您是否已经在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不能告诉我成就是否已经被解锁了。
如果有人能帮助我,我将非常感激!
加载以前提交的成绩为当前login的用户您需要调用:
[GKAchievement loadAchievementsWithCompletionHandler: ^(NSArray *scores, NSError *error) { if(error != NULL) { /* error handling */ } for (GKAchievement* achievement in scores) { // work with achievement here, store it in your cache or smith } }];
你知道从Game Center开始的绝对最好的方式 – 成就和高分是看看苹果在线的演示项目: http : //developer.apple.com/library/ios/#samplecode/GKTapper/Introduction /Intro.html
看看这个代码 – 它很简单,可以快速掌握发生的事情,并且具有本地成就caching,提交给不同的排行榜等。
我即将开始实施这个自己。
从我所阅读的文档中,我认为你需要做的就是打电话
loadAchievementsWithCompletionHandler: