当我运行我的应用程序时,我可以在模拟器中看到我的iAd,它预先填充了“Test Advertisement”
但是,当我在设备上运行该应用程序时,iAd区域为空白,没有预先填充的广告。
为什么会这样?
我的iAd位于UITableViewCell:
#import "iAdCell.h"
@implementation iAdCell
@synthesize adView;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
adView.delegate=self;
[self.contentView addSubview:adView];
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (void)dealloc {
[adView release];
[super dealloc];
}
@end
答案 0 :(得分:1)
在提问者添加更多信息后编辑:
如果iAd位于表格单元格内,Apple将拒绝您的应用程序。 iAd必须位于页面上的静态位置,而不是任何类型的滚动视图(包括表格视图)。这是因为iAds通过印象和点击付费,因此在表格视图单元格中使用iAd会导致它在滚动并再次在屏幕上重新加载,这可能会多次。这似乎是“点击欺诈”或类似的行为。 Apple不允许这样做。可能是因为您的请求失败了。将断点或某些日志记录放入请求失败时发送的失败委托消息中,您将能够看到它是否被调用。
iAd请求可能由于多种原因而失败,包括您所在国家/地区无法使用iAd,没有足够的广告资源来完成请求,广告已经在此会话后显示等等。
可能是模拟器上显示的,因为模拟器实际上没有任何其位置的概念(例如,地图总是在Cupertino中显示您的位置为Apple的HQ。)
答案 1 :(得分:0)
出现同样的问题,为我解决问题的方法就是从您的设备中删除该应用并从XCode重新安装。