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