我已经被这个问题困扰了很长一段时间。我了解如何解锁游戏中心的成就,甚至让整个消息系统正常工作。但我不知道如何检查成就是否已解锁:(
显然这不起作用:
GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease];
NSLog(@"%i",achievement.completed);
它始终跟踪“0”。
解锁成就确实有效:
GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease];
achievement.percentComplete = 100;
所以并不是我在整个成就方面犯了错误,只是 GameKit 无法告诉我成就是否已经解锁。
如果有人能帮助我,我将非常感激!
要加载当前登录用户之前提交的成就,您需要调用:
[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 http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction/Intro.html
看一下代码 - 它非常简单,可以快速掌握正在发生的事情,并且它具有本地成就缓存、提交到不同排行榜等功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)