gpt4 book ai didi

swift - iOS 8 上的 Game Center 分享成就或排行榜崩溃

转载 作者:搜寻专家 更新时间:2023-11-01 05:42:14 25 4
gpt4 key购买 nike

大家好,我正在尝试在我的 iOS8 应用程序上实现 Game Center,但在 iPad 上遇到了崩溃。我已经设置了成就和排行榜,并且可以成功点击 iPhone 上的蓝色分享按钮,但是当我在 iPad 上点击分享时,GKGameCenterViewController 崩溃并给我以下报告:

Application Specific Information: *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x7b1480a0>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.' terminating with uncaught exception of type NSException abort() called CoreSimulator 110.4 - Device: iPad Retina - Runtime: iOS 8.1 (12B411) - DeviceType: iPad Retina

如有任何帮助,我们将不胜感激!

最佳答案

我遇到了同样的崩溃。当我以模态方式呈现 GKGameCenterViewController 时,重要的是我提供 sourceView,按以下顺序使用代码:

    gameCenterVC.modalPresentationStyle = .Popover
gameCenterVC.popoverPresentationController?.sourceView = view!
gameCenterVC.popoverPresentationController?.sourceRect = view!.frame
presentViewController(gameCenterVC, animated: true, completion: {})

你的错误是

"reason: 'UIPopoverPresentationController [...]"

这表明您的 modalPresentationStyle = .Popover。

在这种情况下,您将需要设置源 View 或按钮栏,如错误指示的其余部分所示。

实例 popoverPresentationController 非 nil 因为...

If you created the view controller but have not yet presented it, accessing this property creates a popover presentation controller when the value in the modalPresentationStyle property is UIModalPresentationPopover

根据 popoverPresentationController

关于swift - iOS 8 上的 Game Center 分享成就或排行榜崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27361847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com