GameCenter报告成绩Swift 3
问题描述:
我感到有点沮丧。我正在使用GameCenter和Swift 3实现成就GameCenter报告成绩Swift 3
但是,我收到了错误消息。
无束的bundleID:(空)
我一直在下面的教程,如那些来自raywenderlich.com但不能与成果(我有工作排行榜)找到任何对雨燕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)
}
}
我不能工作成就为什么错误信息会显示...
答
看来苹果可能需要很长时间才能设置Game Center的成就,最终代码是OK。去搞清楚。
答
我可能是错的,但尝试设置百分比和横幅完成对你的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
}
}
}
我得到了与我的应用程序相同的错误。从我发现它与xCode的错误,所以只是忽略它。你的成就是否有效?当你去游戏中心的时候会有成就吗?这是对你的应用程序的更新吗?如果更新检查您的iTunes连接版本已添加成果,则与Xcode中的版本号相同。假设实时版本是1.0,所以新版本是1.1,在运行应用程序时Xcode的版本需要为1.1,否则其他成就将不会显示。 –
这是一个新的应用程序。成就在游戏中心显示,但我无法让它工作。 – stevenpcurtis
我会建议使用[link](https://github.com/jackcook/GCHelper)。它是一个很好的库,非常易于使用。您可以使用一些功能来实现游戏中心。只需将GCHelper.swift文件放入您的项目中即可。你不应该有任何问题。 –