Краткое изложение того, что здесь происходит.
У меня есть GameScene и GameOverUIController. Когда игра завершается, загружается GameOverUIController, который загружает xib, который загружает MobFoxBannerView.
Вот проблема: если вы нажмете кнопку «воспроизвести снова» для ускорения или проиграете раунд дольше 3 минут, реклама загружается в фоновом режиме, но по существу не имеет места для перехода и вылетает.
Я послушался совета друзей, добавив ViewDidUnload, чтобы установить для параметра bannerview значение nil, но он все равно вылетает ... Я не самый выдающийся программист, но мне кажется, что я где-то делаю глупейшую ошибку .. . Любая помощь приветствуется. Я просто использую здесь неправильный синтаксис?
Я сделал следующее.
Я синтезирую bannerView в реализации GameOverUI.
Теперь добавляю его в представление вручную, до того, как я добавил UIwebview непосредственно в конструктор интерфейса xib для GameOverUIController
self.bannerView = [[[MobFoxBannerView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)] autorelease];
bannerView.delegate = self;
[self.view addSubview:bannerView];
[self.view bringSubviewToFront:bannerView];
И это в моей основной реализации. Поэтому каждый раз, когда он загружает экран GameOver, он запрашивает новое добавление.
Затем я устанавливаю значения в файле заголовка.
-(NSString *) publisherIdForMobFoxBannerView:(MobFoxBannerView *)banner;
@property (nonatomic, retain) MobFoxBannerView *bannerView;
и установил свой идентификатор издателя в нижней части GameOverUIController.m
- (NSString *)publisherIdForMobFoxBannerView:(MobFoxBannerView *)banner
{
return @"xxxxxxxxxxxx";
}
Тогда ... ПО-прежнему вылетает, поэтому я попытался установить его равным нулю, надеясь, что это сработает ... но я не уверен насчет этого синтаксис ...
На GameOverUIController.m
- (void)viewDidUnload
{
[super viewDidUnload];
self.bannerView = nil;
// or ? bannerView.delegate = nil;
}
Ни одна из этих строк не работает ..... Я в полной растерянности. Собираюсь перейти на другую рекламную платформу, если я не смогу понять это до конца выходных. Проклятие моего существования прямо сейчас. Любая помощь будет принята с благодарностью. Большое спасибо
Редактировать:
Разобрался ... Не имел никакого отношения к ViewUnload ....
- (void)dealloc
{
bannerView.delegate = nil;
[super dealloc];
}
Добавлял его не в то место ... Теперь работает отлично.