我在项目中实现了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的所有代码中为我提供了帮助。