2013-12-09 44 views
0

我用下面的代码添加横幅:iAd的横幅崩溃的应用程序

- (void) addBunner { 
    CGRect frame = CGRectMake(0.0, 
           self.view.frame.size.height-50.0, 
           320.0, 
           50.0); 

    UIWindow* window = [UIApplication sharedApplication].keyWindow; 
    if (!window) { 
     window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
    } 

    ADBannerView *adView = [[ADBannerView alloc] initWithFrame:frame]; 

    adView.delegate=self;  
    [window addSubview:adView]; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self addBunner]; 
} 

加入iAd.framework。

应用程序在日志中没有任何消息时崩溃。问题在哪里?

回答

3

的应用程序崩溃,因为你是在窗口中添加旗帜。

原因:ADBannerView必须是由UIViewController管理的视图层次结构的一部分。

因此,在UIViewController中添加横幅。

1

这不是在您的应用程序中管理iAD的最佳方式。作为其他类,有很多方法可以实现,它响应iAD Delegate,将iAD Banner添加到应用程序。

我建议在使用前阅读苹果文档 - Apple iAD Documentation