我正在使用这个库来报告我的应用程序中的分数和成就:https ://github.com/csdavies/DDGameKitHelper
因此,在我的应用程序中,我报告百分比以让用户知道他们距离完成成就有多近。所以我做这样的事情:
[[DDGameKitHelper sharedGameKitHelper] reportAchievement:@"Achievement1" percentComplete:totalTime/300.0f];
然而,似乎报告说我完成了成就“Achievement1”,尽管我没有。当我 NSLogtotalTime/300.0f
我得到一个像0.563而不是 100的值。
所以现在我在想这个reportAchievement
方法一定有问题,所以我看了看,我不确定可能是什么问题。以下是相关的方法reportAchievement
:
-(void) reportAchievement:(NSString*)identifier percentComplete:(float)percent
{
if (isGameCenterAvailable == NO)
return;
GKAchievement* achievement = [self getAchievement:identifier];
if (achievement.percentComplete < percent)
{
NSLog(@"new achievement %@ reported", achievement.identifier);
achievement.percentComplete = percent;
[achievement reportAchievementWithCompletionHandler:^(NSError* error)
{
[delegate onReportAchievement:(GKAchievement*)achievement];
}];
[self saveAchievements];
}
}
-(GKAchievement*) getAchievement:(NSString*)identifier
{
GKAchievement* achievement = [achievements objectForKey:identifier];
if (achievement == nil)
{
achievement = [[[GKAchievement alloc] initWithIdentifier:identifier] autorelease];
[achievements setObject:achievement forKey:achievement.identifier];
}
return achievement;
}
那么这里有什么可能导致我的成就被报告为提前完成,即使它们真的没有?
谢谢!
编辑1:
2012-11-19 20:50:15.946 App[16894:907] percent: 0.005556
2012-11-19 20:50:15.947 App[16894:907] achievement percentComplete: 0.004861
2012-11-19 20:50:15.972 App[16894:907] percent: 0.000000
2012-11-19 20:50:15.973 App[16894:907] achievement percentComplete: 0.000000
2012-11-19 20:50:15.974 App[16894:907] percent: 0.026000
2012-11-19 20:50:15.974 App[16894:907] achievement percentComplete: 0.024000
2012-11-19 20:50:16.003 App[16894:907] percent: 0.002600
2012-11-19 20:50:16.004 App[16894:907] achievement percentComplete: 0.002400
2012-11-19 20:50:16.010 App[16894:907] percent: 0.000000
2012-11-19 20:50:16.011 App[16894:907] achievement percentComplete: 0.000000
2012-11-19 20:50:16.012 App[16894:907] percent: 0.016667
2012-11-19 20:50:16.012 App[16894:907] achievement percentComplete: 0.016667
2012-11-19 20:50:16.013 App[16894:907] percent: 0.000000
2012-11-19 20:50:16.014 App[16894:907] achievement percentComplete: 0.000000