当我在模拟器中运行应用程序时,我得到的只是屏幕底部的一个白色窗口,这是我放置横幅的地方,但3秒钟后它就消失了。。。
这是我的.h
文件中的代码,用于iad:
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "CardScrollView.h"
#import <iAd/iAd.h>
@interface ViewController1 : UIViewController <CardScrollViewDelegate,
ADBannerViewDelegate> {
}
@property (weak, nonatomic) IBOutlet ADBannerView *banner1;
@end
这是我在iad:的.m文件中的代码
- (void)viewDidLoad
{
[super viewDidLoad];
self.banner1.delegate = self;
}
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner
willLeaveApplication:(BOOL)willLeave
{
return YES;
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:1];
[UIView commitAnimations];
}
- (void)bannerView:(ADBannerView *)banner
didFailToReceiveAdWithError:(NSError *)error {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[banner setAlpha:0];
[UIView commitAnimations];
}
@end
注意:如上所示,我在.h
文件中有两个委托,因为我在同一个视图控制器上也有一个UIScrollView
。我没有任何错误或警告,为什么它没有出现?此代码适用于我的其他应用程序。
也有同样的问题。
在某个时刻,iAd停止在模拟器中工作,但在真正的iPhone上工作。这在不更改(iAd逻辑的)任何代码行的情况下发生。
我做了什么让它恢复工作:
- 转到模拟器的应用程序"设置"(也就是说,运行您的应用程序,单击主页按钮(或CMD+Shift+H),转到第一个面板并找到设置)
- 转到"开发人员"菜单
- 将iAd设置为100%填充率
但这对我来说还不够。然后我发现了一个奇怪的解决方案:
假设您正在运行iPhone Retina 4英寸的模拟器,只需选择其他iPhone模拟器,如iPhone3.5英寸Phone4英寸64位。
不知怎的,这迫使iAd再次出现!