Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iAds不在模拟器和设备中工作_Iphone_Objective C - Fatal编程技术网

Iphone iAds不在模拟器和设备中工作

Iphone iAds不在模拟器和设备中工作,iphone,objective-c,Iphone,Objective C,当我运行我的应用程序时,我收到iAd横幅视图的消息。这是什么意思 错误Domain=ADErrorDomain Code=3“无法执行该操作 已完成。Ad库存不可用“UserInfo=0x60455a0 {ADInternalErrorCode=3,NSLocalizedFailureReason=Ad库存 不可用} 这是我的代码: #pragma mark - #pragma mark create BannerView: - (void)createAdBannerView { Cl

当我运行我的应用程序时,我收到iAd横幅视图的消息。这是什么意思

错误Domain=ADErrorDomain Code=3“无法执行该操作 已完成。Ad库存不可用“UserInfo=0x60455a0 {ADInternalErrorCode=3,NSLocalizedFailureReason=Ad库存 不可用}

这是我的代码:

#pragma mark -
#pragma mark create BannerView:
- (void)createAdBannerView {
    Class classAdBannerView = NSClassFromString(@"ADBannerView");
    if (classAdBannerView != nil) {
        self.adBannerView = [[[classAdBannerView alloc] initWithFrame:CGRectZero] autorelease];
        [adBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects: ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil]];
        if (UIInterfaceOrientationIsLandscape([UIDevice currentDevice].orientation)) {
            [adBannerView setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifierLandscape];
        } else {
            [adBannerView setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifierPortrait];            
        }
        [adBannerView setFrame:CGRectOffset([adBannerView frame], 0, -[self getBannerHeight])];
        [adBannerView setDelegate:self];

        [self.view addSubview:adBannerView];        
    }
}

- (void)fixupAdView:(UIInterfaceOrientation)toInterfaceOrientation {
    if (adBannerView != nil) {        
        if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
            [adBannerView setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifierLandscape];
        } else {
            [adBannerView setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifierPortrait];
        }          
        [UIView beginAnimations:@"fixupViews" context:nil];
        if (adBannerViewIsVisible) {
            CGRect adBannerViewFrame = [adBannerView frame];
            adBannerViewFrame.origin.x = 0;
            adBannerViewFrame.origin.y = 0;
            [adBannerView setFrame:adBannerViewFrame];
            CGRect contentViewFrame = contentView.frame;
            contentViewFrame.origin.y = [self getBannerHeight:toInterfaceOrientation];
            contentViewFrame.size.height = self.view.frame.size.height - [self getBannerHeight:toInterfaceOrientation];
            contentView.frame = contentViewFrame;
        } else {
            CGRect adBannerViewFrame = [adBannerView frame];
            adBannerViewFrame.origin.x = 0;
            adBannerViewFrame.origin.y = -[self getBannerHeight:toInterfaceOrientation];
            [adBannerView setFrame:adBannerViewFrame];
            CGRect contentViewFrame = contentView.frame;
            contentViewFrame.origin.y = 0;
            contentViewFrame.size.height = self.view.frame.size.height;
            contentView.frame = contentViewFrame;            
        }
        [UIView commitAnimations];
    }   
}





#pragma mark -
#pragma mark ADBannerViewDelegate

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    if (!adBannerViewIsVisible) {                
        adBannerViewIsVisible = YES;
        [self fixupAdView:[UIDevice currentDevice].orientation];
    }
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"the failed error is %@",error); 
    if (adBannerViewIsVisible)
    {        
        adBannerViewIsVisible = NO;
        [self fixupAdView:[UIDevice currentDevice].orientation];
    }
    //NSLog(@"bannerView:didFailToReceiveAdWithError: %@",[error localizedDescription]);

}


how to solve this problem 
“广告库存不可用”是指。。。没有可用的广告。看起来好像工作正常


iAd很容易实现,但它们的填充率很低(即,许多请求无法实现),而且在许多国家根本不可用。

您将在模拟器或设备中随机收到此错误消息,以便在没有iAd可用时测试您的应用程序及其行为(隐藏AdView,使用其他广告提供商…)。但这并不是来自模拟器/iAd框架/iAd网络的bug:它是一种用于进行更好测试的功能


此外,在测试设备上以测试模式部署应用程序时,您无法获得“真实”的IAD。它必须由苹果审查并从AppStore下载。

从设备中删除该应用程序,然后从XCode重新安装。那帮我修好了