【问题标题】:Swift - Completed Game Center AchievementsSwift - 完成 Game Center 成就
【发布时间】:2014-09-10 11:45:35
【问题描述】:

我有一个“无尽”的游戏,用户必须在其中获得尽可能高的分数。我做了一些成就,达到30、60、90分等。但是,当用户达到这些分数时,没有显示完成成就的横幅,在游戏中心也没有显示完成.

我该怎么做?

这是我的代码:

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
    }
}

【问题讨论】:

    标签: ios xcode swift game-center achievements


    【解决方案1】:

    我从未使用过 GK 模块,但是当您实例化 GKAchievement 对象时,我没有看到您使用 Game Center 报告/记录它的调用。成就.reportAchievementWithCompletionHandler: 在哪里?

    【讨论】:

    • Xcode 似乎无法识别reportAchievementWithCompletionHandler:。我输入achievement. 并开始输入reportAchievementWithCompletionHandler:,但它似乎不存在????
    • 实例方法在 iOS7 中已被弃用。看起来你应该使用 class 方法 reportAchievements:withCompletionHandler: 并在第一个参数中传递你的成就对象(作为一个项目的数组,看起来,如果你只有一个报告。)也许试试GKAchievement.reportAchievements([achievement], withCompletionHandler: nil)
    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多