0

我在我的应用程序中使用 Admob。

我收到以下错误:[GADDelegateManager didYouNilOutYourDelegate:selector:] at GADDelegateManager.m:48

我在 dealloc 中释放我的 Admob Banner 对象。

谁能告诉这个错误的可能修复方法。

-(void)displayAds {     
    self.aBannerView.adUnitID = AdmobPublisherID;  
    [self.aBannerView setDelegate:self];
    [self.aBannerView setRootViewController:roorViewController];

    if (isAdLoaded) {        
        [self.view addSubview:self.aBannerView];
    } else {
        // Initiate a generic request to load it with an ad.
        [self.view addSubview:self.aBannerView];
        [self.aBannerView loadRequest:[self createRequest]];        
        isAdLoaded = YES;
    }
}

#pragma mark GADRequest generation

- (GADRequest *)createRequest {
    GADRequest *request = [GADRequest request];

    request.testDevices = [NSArray arrayWithObjects: nil];
    return request;
}

- (void)adViewDidReceiveAd:(GADBannerView *)adView {
    NSLog(@"Received ad successfully popup");
    if(self.aBannerView !=nil) {
        self.aBannerView.hidden = NO;

    }   
}

- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error {
    NSLog(@"Failed to receive ad with error: %@", [error localizedFailureReason]);
    [self.aBannerView removeFromSuperview];
    [self showInhouseAd];
}

 - (void)adViewWillLeaveApplication:(GADBannerView *)bannerView {

}

- (void)dealloc {    
    [aBannerView release];
}

谢谢,

4

2 回答 2

1

选择器名称对我来说似乎很容易解释。在释放横幅视图之前尝试将代理设置为 nil:

- (void)dealloc {    
    [aBannerView setDelegate:nil];
    [aBannerView release];
}
于 2013-10-15T12:55:20.483 回答
0

正如错误所说的那样[GADDelegateManager didYouNilOutYourDelegate:selector:]。我真的会尝试

- (void)dealloc 
{    
    aBannerView.delegate = nil;
    [aBannerView release];
}

如错误消息所示,这似乎是您的问题。

于 2013-10-15T12:55:13.477 回答