我有点沮丧。我正在使用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)
}
}我不知道为什么会显示错误信息..。
发布于 2017-05-16 13:52:35
看来苹果要花很长时间才能建立起游戏中心的成就,最终代码也没问题。去想一想。
发布于 2017-04-06 10:48:57
我可能错了,但是尝试在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
}
}
}https://stackoverflow.com/questions/43246475
复制相似问题