나는 내 응용 프로그램에서 점수와 성과를보고하기 위해이 라이브러리를 사용하고 있습니다 :GKAchievement의 잠금이 너무 일찍 해제 되었습니까?
https://github.com/csddavies/DDGameKitHelper 그래서 내 응용 프로그램에서 나는 사용자들이 성과를 완료에 얼마나 가까운 알려 비율을보고한다. 그래서 같은 것을 할 :
[[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 가지 업적이 내가 신고 할 때마다 계속 나타나기 때문에 의미가 있습니다. –