0
我有一个“无尽的”游戏,用户必须获得尽可能高的分数越好。我取得了一些成就,当他们达到30,60,90分等时。但是,当用户达到这些分数时,没有横幅显示他们已经完成了成就,也没有显示在Game Center中完成。斯威夫特 - 完成游戏中心成就
我该怎么做?
这是我的代码:
func checkAchievements() {
var identifier : String? = nil
var percentComplete : Double = 0
switch(score)
{
case 30:
identifier = "30"
percentComplete = 100.0
case 60:
identifier = "60"
percentComplete = 100.0
case 90:
identifier = "90"
percentComplete = 100.0
case 120:
identifier = "120"
percentComplete = 100.0
case 150:
identifier = "150"
percentComplete = 100.0
default:
identifier = nil
}
if identifier != nil {
let achievement = GKAchievement(identifier: identifier)
achievement.showsCompletionBanner = true
achievement.percentComplete = percentComplete
}
}
Xcode中似乎并没有认识到'reportAchievementWithCompletionHandler:'。我输入'achievement.'并开始键入'reportAchievementWithCompletionHandler:',但它似乎并不存在? – user2397282 2014-09-10 12:41:07
实例方法在iOS7中已弃用。看起来你应该使用* class *方法reportAchievements:withCompletionHandler:并在第一个参数中传递你的成就对象(作为一个项目的数组,如果你只有一个项目的话,可以试试)。 'GKAchievement.report成就([成就],withCompletionHandler:无)'? – 2014-09-10 12:44:18