MobFox iOS Framework, Сбои Когда XIB выгружен ... что я тут не так делаю? - PullRequest
8 голосов
/ 10 декабря 2011

Краткое изложение того, что здесь происходит.

У меня есть 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";
}

Тогда ... ЕЩЕ ПОЛУЧИТЕ сбой, поэтому я попытался установить его на ноль, надеясь, что это сработает ... но я не уверен насчет синтаксиса ...

On GameOverUIController.m

- (void)viewDidUnload
{

[super viewDidUnload];

self.bannerView = nil;
// or ? bannerView.delegate = nil;
}

Ни одна из этих строк не работает ..... Я в полной растерянности. Собираюсь перейти на другую рекламную платформу, если я не смогу выяснить это до конца выходных. Бэйн моего существования прямо сейчас. Любая помощь будет принята с благодарностью. Большое спасибо

Edit:

Разобрался ... Не имеет ничего общего с ViewUnload ....

- (void)dealloc
{
bannerView.delegate = nil;
[super dealloc];

}

Добавлял его в неправильное место ... Теперь отлично работает.

1 Ответ

0 голосов
/ 01 ноября 2012

Я полагаю, что ваша проблема в

bannerView.delegate = self;
  • при загрузке add (например, из-за плохого интернета он может быть очень медленным) - вызывается метод делегата, но "self" -выпущен - так что исключение времени выполнения выброшено.

Кстати, я ничего не знаю об инфраструктуре MobFox.Это просто обычный анти-паттерн.

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