这似乎是有史以来最愚蠢的问题,但是在浏览了所有 Apple 的文档和无用的在线教程之后,我仍然无法弄清楚如何正确地实现iAds
到我的应用程序中。因此,我的应用程序从表格视图控制器开始,并且iAd
在导航栏下方和表格上方有一个对象。
现在,在我的代码中:(我还添加了 iAd 框架)
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface MasterTableViewController : UITableViewController <ADBannerViewDelegate>
{
IBOutlet ADBannerView *iAd;
}
@property(nonatomic, readonly, getter=isBannerLoaded) BOOL bannerLoaded;
@end
然后在 .m 文件中
#import "MasterTableViewController.h"
@interface MasterTableViewController ()
@end
@implementation MasterTableViewController
@synthesize bannerLoaded;
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
if (!willLeave)
{
// nothing in this case thanks to ARC
}
return YES;
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
iAd.hidden = NO;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
iAd.hidden = YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
for (int i = 0; i > 0; i++)
{
if (bannerLoaded)
{
iAd.hidden = NO;
}
else
{
iAd.hidden = YES;
}
}
}
现在,问题是,当我在没有互联网连接的情况下测试应用程序时,iAd
它不会加载(显然)但它也不会隐藏。所以,在屏幕的顶部,我留下了一个大的白色矩形。否则,当连接可用时,广告可以正常工作。有没有人有任何想法?另外 - 我刚刚添加了无限循环,看看它们是否有所作为,这些完全是故意的,哈哈。