我在所有的应用程序中都使用了相同的代码来显示iAd广告,但是在下载xcode 7并将代码转换为swift2之后,广告就不再出现在我的设备或xcode模拟器上了。有人知道需要做什么改变吗?
import UIKit
import SpriteKit
import iAd
class GameViewController: UIViewController, ADBannerViewDelegate {
var adBanner: ADBannerView? = ADBannerView()
override func viewDidLoad() {
super.viewDidLoad()
adBanner?.delegate = self
adBanner?.hidden = true
self.canDisplayBannerAds = true
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
adBanner?.hidden = true
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
adBanner?.hidden = false
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return willLeave
}
}发布于 2015-09-18 08:23:52
你是否考虑过iAd网络会在此刻被关闭?随身携带一份苹果自己的iAd套件:Storyboard/Introduction/Intro.html
如果他们自己不加载,你的也不会加载。
现在,我收到了一条不言自明的错误消息:
NSLocalizedFailureReason=Ad inventory unavailable希望这能有所帮助。
发布于 2015-09-18 05:30:07
你把两种方法搞混了。有两种显示iAd横幅的方法。首先,让iAd知道您希望在视图控制器上显示横幅,让iAd来完成剩下的操作。这是通过调用以下方法来完成的:
self.canDisplayBannerAds = true 第二种方法是先加载横幅,然后将其手动添加到视图中。为此,首先使用所需类型初始化横幅并设置其委托:
var adBanner: ADBannerView? = ADBannerView(adType: ADAdType.Banner)
adBanner?.delegate = self然后,在加载横幅时,我们必须将其添加到视图中,例如:
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.view.addSubview(banner)
}在我添加到superview的横幅之前,不需要更改hidden属性。
https://stackoverflow.com/questions/32643942
复制相似问题