显然这不起作用:
GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease];
NSLog(@"%i",achievement.completed);
它始终跟踪“0”。
解锁成就确实有效:
GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease];
achievement.percentComplete = 100;
所以并不是因为我在整个成就中犯了错误,只是GameKit无法告诉我成就是否已经解锁。
如果有人能帮助我,我将非常感激!
答案 0 :(得分:4)
为您需要呼叫的当前登录用户加载以前提交的成就:
[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开始的绝对最佳方式 - 成就和高分者是看看Apple在线的演示项目: http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction/Intro.html
查看代码 - 它很简单,可以快速掌握正在发生的事情,它具有本地成就缓存,提交给不同的排行榜等等。
答案 1 :(得分:0)
我即将开始实施。
从我读到的文档来看,我认为你需要做的就是打电话
loadAchievementsWithCompletionHandler: