私は何時間も試してきましたが、これを機能させることができません.GameCenterManagerクラスでは、これを持っています:
- (void) retrieveAchievmentMetadata {
self.achievementsDescDictionary = [[NSMutableDictionary alloc] init];
[GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler:
^(NSArray *descriptions, NSError *error) {
if (error != nil) {
NSLog(@"Error %@", error);
} else {
if (descriptions != nil){
for (GKAchievementDescription* a in descriptions) {
[achievementsDescDictionary setObject: a forKey: a.identifier];
NSLog(@"identifier %@", a.identifier);
}
NSLog(@"count %i", [achievementsDescDictionary count]);
}
}
}];
}
それはすべて機能し、出力は良好で、カウントは良好ですが、別のクラスから GKAchievementDescription を取得するためにそれを呼び出そうとすると、常に (null) が返され、カウントは 0 です。
NSLog(@"count %i", [gameCenterManager.achievementsDescDictionary count]);
if (gameCenterManager.achievementsDescDictionary == NULL) {
NSLog(@"ERROR");
}
私はこれに夢中になっています、どんな助けも素晴らしいでしょう。ありがとう。