Ios 应用程序'上未显示IAD;s第一个屏幕-未加载广告

Ios 应用程序'上未显示IAD;s第一个屏幕-未加载广告,ios,iphone,objective-c,iad,lifecycle,Ios,Iphone,Objective C,Iad,Lifecycle,我在我的app delegate中为整个app创建了一个iAd banner广告对象,正如上面所说的,您应该创建一个ADBannerView并在所有视图中共享它。我在我的应用程序委托中调用以下方法对其进行初始化: - (void)initializeAds { // bannerAd is a property of MyAppDelegate bannerAd = [[ADBannerView alloc] initWithFrame:CGRectZero]; b

我在我的app delegate中为整个app创建了一个iAd banner广告对象,正如上面所说的,您应该创建一个
ADBannerView
并在所有视图中共享它。我在我的应用程序委托中调用以下方法对其进行初始化:

- (void)initializeAds {
     // bannerAd is a property of MyAppDelegate
     bannerAd = [[ADBannerView alloc] initWithFrame:CGRectZero];
     bannerAd.delegate = self;
     bannerAd.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
}
然后在我的UIViewController中,我引用

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
ADBannerView *myBannerView = appDelegate.bannerAd;

这在我的大多数应用程序中都非常有效,在
viewdide:
中运行当前UIViewController的广告显示代码。但是,在第一个UIViewController(根UIViewController)上,当应用程序最初打开时,它没有显示广告。它似乎还没有加载广告。但当我向下导航到另一个UIViewController,然后返回时,会显示广告,大概是因为它有机会加载广告。我正在以100%的填充率运行我的测试设备。如何在运行代码之前强制iAd尝试获取广告?

在应用程序委托中,确保将应用程序委托设置为横幅广告的委托。然后,实现方法
-(void)bannerviewdidloadd:(ADBannerView*)banner

-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
    UIViewController *rootViewController = <get the root view controller>;
    [rootViewController displayAds]; // this is the code to display the ad
}
-(void)bannerViewIDLoadAD:(ADBannerView*)横幅{
UIViewController*rootViewController=;
[rootViewController显示广告];//这是显示广告的代码
}

当应用程序第一次加载时,它需要时间加载广告。互联网带宽等等。因此,当第一次加载根视图控制器时,应用程序还没有时间加载任何广告。因此,现在应用程序有时间加载广告,当加载完成后,它将显示广告。

这可能是由于Adserver将同时进行连接和断开连接以进行测试,不要担心,这仅用于测试目的