誰かが代わりを見つけましたか
[GKAchievement reportAchievementWithCompletionHandler]
?
通常、物事が非推奨になると、ドキュメントは代替品を示します。これまでのところそうではありません。私たちが見ている別の問題の考えられる原因のリストからこれを消したいと思いました.
誰かが代わりを見つけましたか
[GKAchievement reportAchievementWithCompletionHandler]
?
通常、物事が非推奨になると、ドキュメントは代替品を示します。これまでのところそうではありません。私たちが見ている別の問題の考えられる原因のリストからこれを消したいと思いました.
同じ情報を探していて、あなたの投稿を見ました。何も見つからなかった後に行ったものは次のとおりです。
NSArray *achievements = [NSArray arrayWithObjects:achievement, nil];
[GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
if (error != nil) {
NSLog(@"Error in reporting achievements: %@", error);
}
}];
Apple の完全なコードは次のとおりです (Silly Goose's Answer と同じ/類似)
- (void) completeMultipleAchievements
{
GKAchievement *achievement1 = [[GKAchievement alloc] initWithIdentifier: @"DefeatedFinalBoss"];
GKAchievement *achievement2 = [[GKAchievement alloc] initWithIdentifier: @"FinishedTheGame"];
GKAchievement *achievement3 = [[GKAchievement alloc] initWithIdentifier: @"PlayerIsAwesome"];
achievement1.percentComplete = 100.0;
achievement2.percentComplete = 100.0;
achievement3.percentComplete = 100.0;
NSArray *achievementsToComplete = [NSArray arrayWithObjects:achievement1,achievement2,achievement3, nil];
[GKAchievement reportAchievements: achievementsToComplete withCompletionHandler:^(NSError *error)
{
if (error != nil)
{
NSLog(@"Error in reporting achievements: %@", error);
}
}];
}
これは iOS7 で問題なく動作します。
- (void)checkAchievements
{
if(myScore >= 25000){
GKAchievement *achievement= [[GKAchievement alloc] initWithIdentifier:@"Achiev1"];
achievement.percentComplete = 100.0;
achievement.showsCompletionBanner = YES;
[self Achievements:achievement];
}
}
-(void)Achievements:(GKAchievement*)achievement {
NSArray *achievements = [NSArray arrayWithObjects:achievement, nil];
[GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
if (error != nil) {
NSLog(@"Error in reporting achievements: %@", error);
}
}];
}