GameCenter 报告成就 Swift 3
GameCenter reporting achievements Swift 3
我有点沮丧。我正在使用 GameCenter 和 Swift 3
实现成就
但是我得到了错误。
没有 bundleID 的捆绑包:(空)
我一直在关注 raywenderlich.com 等教程,但找不到 Swift 3 的成就(我有排行榜)所以不知道我的代码是否正确不正确,或者我如何才能以编程方式 return 捆绑包 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)
}
}
我不明白为什么会显示错误消息...
我可能错了,但请尝试在您的 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
}
}
}
看来Apple设置Game Center成就需要很长时间,最后代码Ok。去图吧。
我有点沮丧。我正在使用 GameCenter 和 Swift 3
实现成就但是我得到了错误。
没有 bundleID 的捆绑包:(空)
我一直在关注 raywenderlich.com 等教程,但找不到 Swift 3 的成就(我有排行榜)所以不知道我的代码是否正确不正确,或者我如何才能以编程方式 return 捆绑包 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)
}
}
我不明白为什么会显示错误消息...
我可能错了,但请尝试在您的 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
}
}
}
看来Apple设置Game Center成就需要很长时间,最后代码Ok。去图吧。