测试 iAds 不会加载

Test iAds won't load

这几天我一直在为这个问题绞尽脑汁。我无法让 iAds 出现在模拟器(或真实硬件)中。

  1. 我在iTunes Connect上填写了所有合同信息
  2. 为应用程序创建了开发配置文件
  3. 链接 iAd 框架并将其导入 ViewController 的 swift 文件
  4. 使 ViewController 成为 ADBannerViewDelegate
  5. 的子类
  6. 为委托实现了 3 个方法(见下文)

我不明白为什么测试广告没有加载。还有其他人有这个问题吗?据我了解,您不再需要通过 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

不建议手动设置广告视图的大小。
使用 init() 方法然后调整框架没有任何意义

您应该像这样初始化横幅视图: let bannerView = ADBannerView(adType:ADAdType.Banner) 然后立即设置其委托并将其添加到根视图