这几天我一直在摸不着头脑。我无法让iAds出现在模拟器(或真实硬件)中。
我无法弄清楚测试广告未加载的原因。还有其他人有这个问题吗?据我了解,您不再需要通过iTunes Connect单独为iAds注册每个应用程序。
我将在下面提供我的代码以供参考,但我怀疑问题出在设置的某处。
import UIKit
import iAd
class AdViewController: UIViewController, ADBannerViewDelegate {
var bannerView = ADBannerView()
override func viewDidLoad() {
super.viewDidLoad()
self.canDisplayBannerAds = true
bannerView.frame = CGRectMake(0, self.view.frame.height-50, self.view.frame.width, 50)
view.addSubview(bannerView)
bannerView.delegate = self
bannerView.hidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.bannerView.hidden = false
println("bannerView unhidden")
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
bannerView.hidden = true
println("bannerView hidden")
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return willLeave
}
}
编辑: 今天早上我尝试从gitHub下载并运行一些iAd演示,看看我是否可以让它们工作,但无济于事。我假设代码是正确的,所以其他地方一定有问题。 https://github.com/sarchak/iAds
答案 0 :(得分:1)
不建议手动设置广告视图的尺寸
使用init()
方法,然后调整框架没有任何意义
你应该像这样初始化你的横幅视图:
let bannerView = ADBannerView(adType:ADAdType.Banner)
然后立即设置其委托并将其添加到根视图