点按时,iAd横幅不会加载

我有一个iAd横幅位于我的应用程序的底部。 横幅在testing设备上显示正常,委托方法似乎被适当调用。

我的问题是。 当我点击“ 你连接到iAd ”横幅时,没有任何东西被加载。 通常情况下,我希望看到另一个全屏iAd视图popup。 当我点击它时,我看到横幅变黑,然后当我移开我的手指时它会恢复正常。

bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool)会触发, willLeave ==假。

 class ViewController: UIViewController, UIGestureRecognizerDelegate, ADBannerViewDelegate, GADBannerViewDelegate { var bannerView: ADBannerView! override func viewDidLoad() { super.viewDidLoad() self.bannerView = ADBannerView() self.bannerView.frame = CGRectMake(0, view.frame.height-50, view.frame.width, 50) self.bannerView.delegate = self self.view.addSubview(bannerView) } } 

添加这个 – ADBannerViewDelegate

创buildvariables – var adBanner = ADBannerView()

在viewDidLoad()

  adBanner = iADManager.sharedInstance adBanner.delegate = self if DeviceType.IS_IPAD { adBanner.frame = CGRectMake(0, 20, self.view.frame.width, 65); } else { adBanner.frame = CGRectMake(0, 20, self.view.frame.width, 50); } 

委托方法[如果取得成功的广告,这将添加子视图,否则从视图中删除]

 func bannerViewDidLoadAd(banner: ADBannerView!) { self.view.addSubview(banner) } func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { banner.removeFromSuperview() } func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { return true } 

以下是我的shareInstance类。 这将更有助于内存pipe理和加载广告。

 class iADManager{ class var sharedInstance: ADBannerView { struct Static { static var onceToken: dispatch_once_t = 0 static var instance: ADBannerView? = nil } dispatch_once(&Static.onceToken) { Static.instance = ADBannerView(adType: ADAdType.Banner) } return Static.instance! } } 

问题是我实施了…

 func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {NSLog("Banner Leaving... \(willLeave)") return willLeave } 

willLeave被设置为false所以我必须返回true或不实现该方法。 我select只是返回true