快速了解这里发生的事情.
我有一个GameScene和一个GameOverUIController.当Game结束时,它会加载GameOverUIController,它会加载xib,它会加载MobFoxBannerView.
问题在于:如果您再次按"再次播放"按钮或者播放超过约3分钟的回合,则广告会在后台加载但基本上无处可去,并且崩溃.
我接受了朋友的建议,添加ViewDidUnload将bannerview设置为nil,但它仍然崩溃......我不是最令人惊讶的程序员承认,但我觉得我在某处犯了最愚蠢的错误......任何帮助非常感谢.我只是在这里使用错误的语法吗?
我做了以下事情.
我在GameOverUI实现上合成了bannerView.
在我将UIwebview直接添加到用于GameOverUIController的xib界面构建器之前,立即手动将其添加到视图中
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;
并将我的发布商ID设置在GameOverUIController.m的底部
- (NSString *)publisherIdForMobFoxBannerView:(MobFoxBannerView *)banner { return @"xxxxxxxxxxxx"; }
然后......仍然发生崩溃然后我试着把它设置为nil希望这会起作用......但是我不确定语法......
在GameOverUIController.m上
- (void)viewDidUnload { [super viewDidUnload]; self.bannerView = nil; // or ? bannerView.delegate = nil; }
Niether这些线路工作.....我完全失去了.除非我能在周末结束之前解决这个问题,否则我将转向另一个广告平台.我现在的祸根.任何帮助将不胜感激.非常感谢你
编辑:
搞清楚......与ViewUnload没有任何关系....
- (void)dealloc { bannerView.delegate = nil; [super dealloc]; }
将它添加到错误的位置...现在完美地工作.