저는 지금 게임 센터에서 일하고 있습니다. 나는 ITC에서 achivements를 만들었고 나는 Game Center에 로그인했다. 게임이 그것에 대해 나를 알아 차린다. 괜찮아. 하지만 Game Center에서 모든 악천후를로드하고 진행 상황을 확인해야합니다. Apple Reference를 읽었으며 클래스 메서드는 loadAchivementsWithCompletionHandler:
입니다.Game Center에서 업적을 올바르게로드하고 동기화하는 방법은 무엇입니까?
나는 이와 비슷한 것을 가지고있다. 그러나 나는 그것을 호출 할 때 어떤 결과도 가져 오지 않는다. - 콘솔에는 NSLog가 없다.
[GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) {
if (error){
NSLog(@"Error in syncing achievements: %@", error);
}
else {
NSLog(@"Number of achievements: %d", [achievements count]);
}
}];
게임 센터에서 성과를 올바르게 얻으려면 어떻게해야합니까? 나는 achivements
배열이 0보다 커야한다고 생각했지만, 모르겠다. NSLog는 호출되지 않는다.
업데이트 !!!
- (void)authenticateLocalUser:(void(^)(UIViewController *))delegate {
if (!_gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if (![GKLocalPlayer localPlayer].authenticated) {
[[GKLocalPlayer localPlayer] setAuthenticateHandler:^(UIViewController *viewController, NSError *error) {
if (viewController) {
delegate((UIViewController *)viewController);
}
else {
[NSThread sleepForTimeInterval:2];
[sharedHelper syncAchivements:^(NSString *delegate) {
}];
}
if (error) {
NSLog(@"Error in AuthenticateLocalUser: %@", [error description]);
}
}];
} else {
NSLog(@"Already authenticated!");
}
은} 내가 인증 후 내 위의 syncAchievement:
메서드를 호출하고 난 응답을 가지고 : Number of achievements: 0
하지만 내 응용 프로그램이 만들어 2 achivements 있습니다. 문제가 어디에 있습니까?
업데이트 2 !!!
loadAchievementWithCompletionHandler 메서드는 일부 진행 상황에서 achivements 만로드합니다. 나는 이것을 이해했다.