我使用這個庫在我的應用程序報告的成績和成就:https://github.com/csddavies/DDGameKitHelperGKAchievement解鎖得太早?
所以在我的應用我彙報百分比,以讓用戶知道他們是在完成一個成就多麼接近。所以,我做這樣的事情:
[[DDGameKitHelper sharedGameKitHelper] reportAchievement:@"Achievement1" percentComplete:totalTime/300.0f];
但是它似乎是報告說我完成了成果,「Achievement1」,即使我沒有。當我NSLog totalTime/300.0f
我得到一個值,如0.563和不是 。
所以現在我想到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;
}
所以有什麼在這裏,可能會導致我的成績報告爲,即使他們真的不早完成?
謝謝!
EDIT1:
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
嘗試添加NSLog查看「百分比」值。並更新一個問題 – CReaTuS
好的,我添加了它,所以你可以看到一些奇怪的原因,一些百分比總是0.00000。現在也有3個0.000000的數字,這是有道理的,因爲每次我報告它們時,同樣的3個成就不斷出現。 –