我有一个带有多个UITableViews的应用程序,我正在实现iADs.根据Apple文档(http://developer.apple.com/library/ios/#technotes/tn2286/_index.html#//apple_ref/doc/uid/DTS40011212)我创建了一个属于我的应用代表的共享横幅并且应用程序委托也是横幅的委托.这种方法效果很好,广告在加载横幅和用户切换屏幕后很好地显示在各种视图控制器上.
问题是在第一个viewController上没有看到广告,因为视图控制器的viweWillAppear方法(我称之为"fixUpAdView"方法)在加载横幅之前出现.
我想我得到的部分是这个(来自苹果文档):"让你的应用程序代理告诉当前的视图控制器它是否应该显示或隐藏横幅.你可以使用UINavigationControllerDelegate或UITabBarControllerDelegate协议推送横幅来显示它." 我知道我需要在bannerViewDidLoadAd和failToReceive方法中添加一些内容,但是对于如何执行此操作我感到有点困惑.
我不希望广告在我的所有视图控制器上显示(只有6个),并且我在应用程序中也有几个模态视图(其中任何一个都没有广告).
以下是我的一些代码:在我的appDelegate中:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
NSLog(@"bannerViewDidLoadAD");
if (!_adBannerViewIsVisible)
_adBannerViewIsVisible = YES;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"BannerAd didfailtoreceive");
if (_adBannerViewIsVisible)
_adBannerViewIsVisible = NO;
}
- (ADBannerView *)sharedAdBannerView
{
if (_sharedAdBannerView == nil) {
Class classAdBannerView = NSClassFromString(@"ADBannerView");
if (classAdBannerView != nil) {
_sharedAdBannerView = [[classAdBannerView alloc] initWithFrame:CGRectZero];
[_sharedAdBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObjects:
ADBannerContentSizeIdentifier320x50,
ADBannerContentSizeIdentifier480x32, nil]];
[_sharedAdBannerView setCurrentContentSizeIdentifier:ADBannerContentSizeIdentifier320x50];
[_sharedAdBannerView setFrame:CGRectOffset([_sharedAdBannerView frame], 0,
-(iAD_BANNER_HEIGHT))];
[_sharedAdBannerView setDelegate:self];
}
}
return _sharedAdBannerView;
}
Run Code Online (Sandbox Code Playgroud)
在我的视图控制器中:
- (void)viewWillAppear:(BOOL)animated { …Run Code Online (Sandbox Code Playgroud) xcode singleton uitableview uiapplicationdelegate adbannerview
我正在更新使用three20的应用程序(不是我开发的).我成功地使用它来构建和运行Xcode 4.3.1这很棒:o)我现在担心内存泄漏(应用程序中没有弧)并且想通过分析器运行应用程序.当我尝试这样做(产品 - >配置文件)时,我再次收到Three20构建错误.特别是未找到"Three20Core/private/TTExtensionInfoPrivate.h"文件,并且添加了Protect.command中的three20/src/scripts/Protect.command:第31行31行中的Shell脚本调用错误,以构建并运行应用程序在这个版本的Xcode上 - 它读取:cd $ {PREFIX} $ {PUBLIC_HEADERS_FOLDER_PATH}
我认为探查器必须使用不同的标头搜索路径或构建位置?
有没有人以前处理过这个问题或有想法解决?
adbannerview ×1
build-error ×1
profiler ×1
singleton ×1
three20 ×1
uitableview ×1
xcode ×1
xcode4.3 ×1