iAd появляется в симуляторе, но не на устройстве - PullRequest
0 голосов
/ 14 сентября 2010

Когда я запускаю свое приложение, я вижу свой iAd в симуляторе, который предварительно заполнен «Test Advertising»

Однако, когда я запускаю приложение на своем устройстве, область 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

Ответы [ 2 ]

1 голос
/ 14 сентября 2010

Изменить после того, как спрашивающий добавил дополнительную информацию:

Apple отклонит ваше заявление, если iAd находится в ячейке таблицы.iAds должны находиться в статическом положении на странице, а не в любом виде прокрутки (включая представления таблицы).Это связано с тем, что iAds оплачивают как по показам, так и по кликам, поэтому наличие iAd в ячейке табличного представления приведет к его перезагрузке при каждой прокрутке и повторном просмотре на экране, что может быть много раз.Это может выглядеть как «мошенничество с кликами» или подобное поведение.Apple не допустит этого.


Возможно, потому что ваш запрос не выполняется.Поместите точку останова или некоторую регистрацию в сообщение делегата об отказе, которое отправляется, когда запросы не выполняются, и вы сможете увидеть, вызывается ли он.

Запросы iAd могут завершаться ошибкой по ряду причин, в том числе отсутствие iAdsдоступны в вашей стране, недостаточно ресурсов для выполнения запроса, объявление уже было показано после этого сеанса и т. д.

Возможно, оно отображается на симуляторе, потому что на самом деле симулятор не имеетконцепция его местоположения (например, Карты всегда показывают ваше местоположение как штаб-квартира Apple в Купертино).

0 голосов
/ 11 марта 2012

У меня возникла та же проблема, и я решил просто удалить приложение с вашего устройства и переустановить из XCode.

...