iOS 模拟器中未显示游戏中心完成横幅
Posted
技术标签:
【中文标题】iOS 模拟器中未显示游戏中心完成横幅【英文标题】:Game Center Completion Banner not showing in iOS Simulator 【发布时间】:2021-07-16 11:36:25 【问题描述】:我正在尝试将 Game Center 集成到我的 ios 应用中。但是,即使我将ShowsCompletionBanner
标志设置为true
,成就完成横幅也不会出现。我一直在使用 iOS 14 通过 iOS 模拟器测试我的应用。
我正在使用以下代码 (Xamarin.iOS):
var achievement = new GKAchievement("sample.achievement")
PercentComplete = 100,
ShowsCompletionBanner = true
;
achievement.ReportAchievement(null);
我可以确认 ReportAchievement
已经成功,因为该成就已在成就视图中解锁 (GKGameCenterViewControllerState.achievements
)
添加信息:当我在achievement.ReportAchievement(null)
行放置断点时,会出现完成横幅。也尝试使用achievement.ReportAchievementAsync()
,但我仍然遇到相同的行为。
提前致谢!
【问题讨论】:
能不能在真机上试试看问题是否依然存在? 【参考方案1】:尝试使用静态 ReportAchievements 而不是正在使用的实例方法。 你可以在苹果开发者文档https://developer.apple.com/documentation/gamekit/gkachievement?language=objc中看到
但我们还需要了解调用 API 的位置,因为异步和计时仍然可能存在问题。 可能值得使用带有同步方法的完成处理程序,这可能会显示错误。
【讨论】:
以上是关于iOS 模拟器中未显示游戏中心完成横幅的主要内容,如果未能解决你的问题,请参考以下文章
UILocalNotification 不会在 ios9 设备上触发(横幅未显示)