iAd错误“广告资源不可用”

我将iAd添加到我的应用程序。 现在,在模拟器,它运作良好,但是当我加载它的设备(v4.1) ADBannerViewDelegate调用bannerView:didFailToReceiveAdWithError:与此说明error.userInfo

{ ADInternalErrorCode = 3; NSLocalizedFailureReason = "Ad inventory unavailable"; } 

我认为我的iAd Network设置是正确的。 我是否需要自己添加广告,否则iAd Network会自动发送模拟器中的testing广告?

编辑:我认为这是一个调度广告的iAdnetworking服务器的延迟问题。 我想,当networking有我的应用程序的广告,它开始正常工作。

如果您使用开发证书运行,即使在设备上运行,也只能获得testing广告。 从iAd编程指南 :

在您开发应用程序时,iAd Network会将testing广告发送到您的应用程序。 为了帮助您validation您的实施,iAdnetworking偶尔会返回错误来testing您的error handling代码。 您也可以closures设备的无线function来testing您的error handling支持。

所以你应该看到设备上的testing广告,但是你永远不会看到一个真实的广告。

是的,从设备中删除应用程序和重build解决了我的情况。

这是调度广告的iAd Network服务器的延迟问题。 我想,当networking有我的应用程序的广告,它开始正常工作。

在这之后,我无法工作,从设备上删除应用程序,并做一个干净的构build。

只是一个额外的更新,我的IPAD上运行广告testing我突然得到这个错误,在撞了我的头(像其他人一样)一段时间后,我注意到IPAD的时间是8分钟,都设置为自动,但仍然是8分钟的差异,手动设置IPAD时钟,错误消失了!

希望这有助于某人。

根据Apple的文档iOS Developer Library的ADBannerView类参考:

 enum { ADErrorUnknown = 0, ADErrorServerFailure = 1, ADErrorLoadingThrottled = 2, ADErrorInventoryUnavailable = 3, ADErrorConfigurationError = 4, ADErrorBannerVisibleWithoutContent = 5, ADErrorApplicationInactive = 6 }; typedef NSUInteger ADError; //ADErrorInventoryUnavailable //Indicates that no advertisements are currently available to download. //Available in iOS 4.0 and later. //Declared in ADBannerView.h. 

因此,这是由iAd的服务器端造成的exception; 而不是代码本身。

在过去的5天,我一直有同样的问题。 在此之前,我得到了一个有效的响应,并且已经调用了bannerViewDidLoadAd委托方法。 也许在苹果方面有什么东西? 我没有发现任何暗示,但这是我的猜测