【问题标题】:GameCenter reporting achievements Swift 3GameCenter 报告成就 Swift 3
【发布时间】:2017-05-16 21:52:35
【问题描述】:

我有点沮丧。我正在使用 GameCenter 和 Swift 3 实现成就

但是我得到了错误。

bundleID 没有捆绑包:(null)

我一直在关注来自 raywenderlich.com 的教程,但找不到任何 Swift 3 的成就(我有排行榜工作)所以不知道我的代码是否不正确,或者我如何才能返回包 ID 以编程方式确认成就 ID。

为了尝试在 ViewDidLoad 中实现此功能,我编写了以下代码,并且我的 ViewController 是 GKGameCenterControllerDelegate

    var achievements = [GKAchievement]()
    let fullAchievement = GKAchievement(
             identifier: "ReversedIDforMyApp.FullMarks")
    achievements.append(fullAchievement)
    GameKitHelper.sharedInstance.reportAchievements(achievements: achievements)

我创建了一个助手来报告成就

func reportAchievements(achievements: [GKAchievement],
                        errorHandler: ((NSError?)->Void)? = nil) {
    guard gameCenterEnabled else {
        return
    }
    GKAchievement.report(achievements,
                                     withCompletionHandler: errorHandler as? (Error?) -> Void)
}
}

我不知道为什么会显示错误消息...

【问题讨论】:

  • 我的应用程序出现同样的错误。从我发现它是 xCode 的错误,所以忽略它。你的成就有用吗?去游戏中心时会显示成就吗?这是对您的应用程序的更新吗?如果它是更新,请检查您添加成就的 iTunes 连接版本是否与 Xcode 中的版本号相同。假设live版本是1.0,那么新版本是1.1,运行应用程序时Xcode中的版本需要是1.1,否则成就不会显示。
  • 这是一个新的应用程序。成就显示在游戏中心,但我无法让它工作。
  • 我建议使用link。它是一个很好的库,非常易于使用。您可以使用几个函数来实现游戏中心。只需将 GCHelper.swift 文件拖放到您的项目中即可。你不应该有任何问题。
  • 这很棒,值得赞赏,但我只是想让它作为一种学习体验——需要知道出了什么问题。

标签: ios swift game-center


【解决方案1】:

我可能错了,但请尝试在您的 GKAchievement 对象上设置百分比和横幅完成。

var achievements = [GKAchievement]()
let fullAchievement = GKAchievement(identifier:"ReversedIDforMyApp.FullMarks")
fullAchievement.percentComplete = 100  //Set this
fullAchievement.showsCompletionBanner = true //Set this
achievements.append(fullAchievement)
GameKitHelper.sharedInstance.reportAchievements(achievements: achievements)

func reportAchievements(achievements: [GKAchievement]) {
    guard gameCenterEnabled else {
        return
    }
    GKAchievement.report([achievements]) { (error) in
        guard error == nil else {
            print("Error in reporting achievements: \(error)")
            return
        }
    } 
}

【讨论】:

    【解决方案2】:

    看来Apple设置Game Center成就可能需要很长时间,最后代码是OK的。去图吧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 2011-04-21
      相关资源
      最近更新 更多