Swift 帮手 class ViewController

Swift Helper class ViewController

我为我的 spritekit 游戏设计了一个 iAds 和 AdMob 助手,可以在 gitHub 上找到。

https://github.com/crashoverride777/Swift2-iAds-AdMob-CustomAds-Helper

助手的设计方式是你设置一个呈现ViewController 属性

Ads.sharedInstance.presentingViewController = self

一旦您的游戏在您的游戏中启动ViewController(游戏通常只有 1 个 viewControlle,因此它工作正常)。

但是一些用户报告说,在常规 UIKit 应用程序中使用助手时,更改视图控制器时广告将无法正确显示。

对于 UiKit,Ads 助手略有更改,助手方法现在看起来像这样

func showBannerAd(viewController: UIViewController) {
        self.presentingViewController = viewController
       ....
}

而且您可以在 ViewControllers

中调用它们
Ads.sharedInstance.showBannerAd(self)

然而,这在更改 ViewControllers 时仍然会导致问题。我相信它与根ViewController.

有关

谁能解释一下我如何为 UIKitApps 使用这个助手,主要是我如何使用具有 viewControllerProperty 的助手

 presentingViewController: UIViewController

但要确保此 属性 始终是 rooViewController,这样无论 UIKit 应用中使用哪个 ViewController,广告都会显示。

感谢您的帮助

我认为问题在于我在展示广告时没有调用 rootViewController。

现在我这样称呼它

presentingViewController.view?.window?.rootViewController?.presentView...

这应该确保即使在使用多个视图控制器时也始终显示广告。