我的 IDE 显示警告"Obsolete: Deprecated in iOS 7.0"
此方法:
- (GKScore) ReportScore()
- (GKAchievement) ReportAchievement()
这种方法适用于 iOS 7,但使用没问题?
iOS 7 上是否存在其他方法?
谢谢!
我的 IDE 显示警告"Obsolete: Deprecated in iOS 7.0"
此方法:
这种方法适用于 iOS 7,但使用没问题?
iOS 7 上是否存在其他方法?
谢谢!
Objective-C 方法以小写方法开头。它们不是用圆括号调用的。所以我:
GKScore
;-reportScoreWithCompletionHandler:
;+reportScores: withCompletionHandler:
没有被弃用。并且看到了几乎相同的事情,即在GKAchievement
.
所以:只需使用收集方法。不推荐使用的方法会在一段时间内不受支持,然后消失。通过阅读文档,您可以非常快速地了解当前支持的内容。
我使用这种方法在游戏中心报告分数并且它有效。
-(void)reportScore
{
if(isIOS7)
{
// Create a GKScore object to assign the score and report it as a NSArray object.
GKScore *score = [[GKScore alloc] initWithLeaderboardIdentifier:_leaderboardIdentifier];
score.value = _score;
[GKScore reportScores:@[score] withCompletionHandler:^(NSError *error) {
if (error != nil) {
NSLog(@"score reporting error : %@", [error localizedDescription]);
}
else
{
NSLog(@"score reported.");
}
}];
}
else
{
GKScore *scoreReporter = [[GKScore alloc] initWithCategory:_leaderboardIdentifier];
scoreReporter.value = _score;
scoreReporter.context = 0;
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
// Do something interesting here.
if (error != nil) {
NSLog(@"score reporting error : %@", [error localizedDescription]);
}
else
{
NSLog(@"score reported.");
}
}];
}
}