Приложение для iPhone зависает с admob? - PullRequest
0 голосов
/ 09 сентября 2011

У меня приложение iphone с admob на двух экранах viewdidLoad

Мой код:

AbMob =[[GADBannerView alloc]initWithFrame:CGRectMake(0.0,self.view.frame.size.height-195, 320, 50)];

    AbMob.adUnitID = AdMob_ID;
    AbMob.rootViewController = self;
    [self.view addSubview:AbMob];



    GADRequest *r = [[GADRequest alloc] init];
    r.testing = NO;

    [AbMob loadRequest:r];

Проблема в том, что этот код отлично работает на одном экране, но вылетает на другом экране с ошибкой

* - [GADOpener didOpen]: сообщение отправлено освобожденному экземпляру 0x6074750

Может кто-нибудь сказать мне, в чем может быть проблема

1 Ответ

2 голосов
/ 03 ноября 2011

У вас есть проблема с сохранением / освобождением где-то в вашем коде. Вы говорите, что это работает в одном представлении, но не в другом - это заставляет меня поверить, что вы храните этот экземпляр вне ваших контроллеров представления. Проблема message sent to deallocated instance связана с тем, что вы пытаетесь использовать переменную, которая была удалена из памяти где-то в коде до появления этой ошибки. Вы должны убедиться, что контроллер представления, который создает этот объект, правильно retain его, чтобы он не был освобожден, прежде чем вам нужно будет использовать его снова с:

GADBannerView *_adMobBannerView;

@property(nonatomic,retain) GADBannerView *adMobBannerView; //view controller retains object when using self.adMobBannerView = bla

Звучит так, что вам, возможно, придется освежить свою документацию по управлению памятью , но суть в том, что где бы вы ни звонили alloc, вы управляете этой памятью и вам нужно позвонить release когда вы закончите с этим. Если вам нужно, чтобы переменная задерживалась дольше, чем объект autorelease d, то вам нужно создать переменную экземпляра и retain объект самостоятельно со свойствами ivar @property (nonatomic, retain).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...