Swift ADBannerView问题
我在所有Swift ADBannerView问题,swift,adbannerview,Swift,Adbannerview,我在所有viewcontroller页面上都有此代码,可以跨多个页面控制我的AdBanner。它在我的应用程序的上一个版本上正常工作,但由于某些原因,在我正在进行的更新中,我认为我的应用程序没有调用bannerviewdidloadd或didFailToReceiveAdWithError函数。当我经常更改页面时,我也会遇到这个错误` 警告:ADBannerView或ADInterstitialView的实例超过10个 目前存在。这是对iAd API和广告性能的滥用 将因此受到影响。此消息仅打印
viewcontroller
页面上都有此代码,可以跨多个页面控制我的AdBanner
。它在我的应用程序的上一个版本上正常工作,但由于某些原因,在我正在进行的更新中,我认为我的应用程序没有调用bannerviewdidloadd
或didFailToReceiveAdWithError
函数。当我经常更改页面时,我也会遇到这个错误`
警告:ADBannerView或ADInterstitialView的实例超过10个
目前存在。这是对iAd API和广告性能的滥用
将因此受到影响。此消息仅打印一次。“
`我有什么遗漏吗?谢谢
// Ad controller
var UIiAd: ADBannerView = ADBannerView()
var screenHeight = UIScreen.mainScreen().bounds.height
var adBannerHeight: CGFloat = 50
@IBOutlet var constOne: NSLayoutConstraint!
func appdelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as! AppDelegate
}
override func viewWillDisappear(animated: Bool) {
UIiAd.delegate = nil
UIiAd.removeFromSuperview()
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(1)
UIiAd.alpha = 1
adBannerHeight = 50
UIView.commitAnimations()
constOne.constant = 58
print("ad loaded")
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(1)
UIiAd.alpha = 0
adBannerHeight = 0
UIView.commitAnimations()
constOne.constant = 8
print("error")
}
override func viewWillAppear(animated: Bool) {
UIiAd.delegate = self
UIiAd = self.appdelegate().UIiAd
UIiAd.frame = CGRectMake(0, screenHeight - adBannerHeight , 0, 0)
self.view.addSubview(UIiAd)
}
// End of Ad Controller
尝试更改此代码:
override func viewWillDisappear(animated: Bool) {
UIiAd.delegate = nil
UIiAd.removeFromSuperview()
}
致:
我刚收到这个消息。Nil不能分配给'ADBannerView'@ElectricTiger类型,请尝试删除UIiAd=Nil。很遗憾,没有区别。如果我告诉你我在AppDelegate.swift中也有这个代码,会有帮助吗?var UIiAd:ADBannerView=ADBannerView(),所以我觉得我已经解决了这个问题,但我有我的疑问。我用一行代码“self.candisplaybanerads=true”替换了所有代码,这似乎是解决方案,但我不知道它的反应如何。在模拟器中很难判断是否每个页面都加载了新的广告,或者这是一个共享的iAd横幅。谁能启发我?
override func viewWillDisappear(animated: Bool) {
UIiAd.removeFromSuperview()
UIiAd.delegate = nil
}