Ios iAd横幅导致EXC\u访问错误

Ios iAd横幅导致EXC\u访问错误,ios,objective-c,exc-bad-access,instruments,iad,Ios,Objective C,Exc Bad Access,Instruments,Iad,很久以前,有一个iAd的旗帜谁工作得很好。有一天,它决定在没有明显原因的情况下,每当它被点击时,都会导致EXC_BAD_访问 所以我正在开发一款iOS小游戏,在屏幕顶部有一个iAd横幅。当调用bannerviewactionshouldbeagin:willLeaveApplication:时,我发送一个NSNotification暂停游戏,然后返回TRUE。 它过去一直按预期工作,直到2天前点击横幅开始导致EXC\u BAD\u访问 因此,与横幅相关的相关代码为: 标题: @interface

很久以前,有一个iAd的旗帜谁工作得很好。有一天,它决定在没有明显原因的情况下,每当它被点击时,都会导致EXC_BAD_访问

所以我正在开发一款iOS小游戏,在屏幕顶部有一个iAd横幅。当调用
bannerviewactionshouldbeagin:willLeaveApplication:
时,我发送一个NSNotification暂停游戏,然后返回
TRUE
。 它过去一直按预期工作,直到2天前点击横幅开始导致
EXC\u BAD\u访问

因此,与横幅相关的相关代码为:

标题:

@interface JAGameBackground : UIView <ADBannerViewDelegate>
{
    ...
    ADBannerView *adBannerView;
}
+(id)gameView
{
    JAGameBackground *aBackground = [[JAGameBackground alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height + [UIScreen mainScreen].bounds.size.width)];

    aBackground.adBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    aBackground.adBannerView.delegate = aBackground;
    [aBackground addSubview:aBackground.adBannerView];
...
   return aBackground;
}

-(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_PAUSE object:nil];
    return TRUE;
}
并用仪器运行它:


关于如何给这个问题一个童话般的结局,有什么想法吗?

原来我犯了一个错误,没有在主线程上加载iAd横幅(以及其他UIKit对象…

gameView中的第一行看起来可疑。看起来你在第二次调用JAGameBackground的初始值设定项。第二次?我的理解是,它返回一个初始化的实例您应该创建一个类方法并使用[[JAGameBackground alloc]initWithFrame:…]创建实例好的,我已经更新了代码。
EXC\u BAD\u ACCESS
仍然很大。您的项目是否使用ARC?您知道发生此错误的代码行吗?(您可以捕获所有异常以执行此操作)