2011-01-22 4 views
3

저는 오랫동안이 문제로 곤두박질 쳤습니다. Game Center에서 업적을 달성하는 방법을 이해했으며 전체 메시징 시스템을 작동시키기까지했습니다. 하지만 성과가 이미 분명히 문제가 해결되지 않습니다 :(Game Center/GameKit에서 업적을 이미 달성했는지 확인하십시오.

를 잠금이 해제되었는지 확인하는 방법을 알아낼 수 없습니다.

GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; 
NSLog(@"%i",achievement.completed); 

을 항상 "0"추적

을 잠금 해제 업적 작업을 수행합니다

GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; 
achievement.percentComplete = 100; 

그래서 그것이 내가 전체 달성 꼬추에 실수를하는 것이 아니라, 그것을 성취가 이미 잠금이 해제되었는지의 경우에 저에게 말할 수 없다 그냥 GameKit입니다.

누군가 나를 도와 줄 수 있다면 매우 감사 할 것입니다.

답변

0

본인 스스로 구현을 시작하려고합니다. 나는 당신이해야 할 일을 생각하는 워드 프로세서의 읽은 내용에서

통화

loadAchievementsWithCompletionHandler: 

http://developer.apple.com/library/ios/documentation/GameKit/Reference/GKAchievement_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40009959-CH1-SW1

+0

단지에 등 등, 다른 리더 보드에 제출, 지역 성과 캐시 기능 이것은 정확히 어떻게 수행 하는지를 확인합니다. 업적을 포함하여 GK 상호 작용을 관리하는 GameKitHelper 클래스가 있습니다. 꽤 잘 작동합니다. – brindy

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 
    } 

}]; 

게임 센터로 시작하는 가장 좋은 방법은 알고 계신 것입니다. 업적과 점수가 높은 사람은 데모 프로젝트를 살펴 보는 것입니다. 요법 애플은 온라인 여기에 있습니다 http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction/Intro.html

코드에서보세요 - 신속 무슨 일이 일어나고 있는지 이해할 수있을만큼 간단하며

관련 문제