我在项目中实现了adwhirl。我之前已经在项目中实现了它,所以我只是将它与以前的项目合并到了当前项目中。

- (UIViewController *)viewControllerForPresentingModalView {
{
  return self;
}

我在以前的项目中使用了此方法。.因为我的window.rootvviewcontroller仅用于自我。但是在我当前的项目中,有很多屏幕用来展示广告,因此我使用了:
- (UIViewController *)viewControllerForPresentingModalView {
    {
      return return [[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] rootViewController] ;;
    }

主要问题是程序崩溃了,而且仍然崩溃。起初一切都还好:iads测试广告已加载,但很少崩溃。我很快就知道这是因为 Admob 。由于admob广告大部分时间未加载,因此崩溃很少。

现在搜索这些崩溃,我遇到了一个问题,因为我是用Xcode 4.2而不是以前的项目Xcode 4.0创建项目的,所以我的窗口和 View Controller 具有很强的属性。我删除了

现在问题出在模拟器中,它不会崩溃,但会在设备中崩溃。

错误是在我将添加了adview作为 subview 之后,并且- (UIViewController *)viewControllerForPresentingModalView通过了这个函数,但在 adWhirlDidReceiveAd方法之前。

实际崩溃为 [GADRequestPrivate spamSignals] EXC_BAD_ACCESS。

最佳答案

下面的答案已经为我赢得了赏金:) .....您可以尝试解决您的问题...

链接:Getting to the bottom of crash

我发现了调试Crash代码的最佳方法之一。请点击调试技术链接:

http://www.cocoadev.com/index.pl?DebuggingAutorelease

您需要非常仔细地分析控制台,才能真正了解崩溃的原因。这几乎在没有启用ARC的所有代码中为我提供了帮助。

10-08 17:28