Don*_*ald 1 iphone crash admob
我的程序崩溃了:
#0 0x3138cec0 in objc_msgSend
#1 0x0002bb6e in -[AdMobDelegateWrapper didYouNilOutYourDelegate:]
#2 0x0002c392 in -[AdMobDelegateWrapper publisherId]
#3 0x0001ab7e in -[AdMobAd buildParamsWithLastClickInfo:]
#4 0x0001b044 in -[AdMobAd requestAdFromServer]
#5 0x0001963c in -[AdMobAd browserIconsDidFinishLoading]
#6 0x0001a23e in -[AdMobAd downloadDidSucceed:]
#7 0x323fba14 in -[NSObject performSelector:withObject:]
#8 0x0002122e in -[AdMobURLDownload performRequest:]
#9 0x33731acc in -[NSThread main]
#10 0x336dfd14 in __NSThread__main__
#11 0x33ad8788 in _pthread_body
Run Code Online (Sandbox Code Playgroud)
为什么?
我使用4.0 SDK,设备的系统版本是iOS 3.1.3.
我的代码非常简单,来自"admob_iphone_sdk_20100818"中的示例.
好的,我找到了解决方案.我几乎在那里,但并不完全.问题是将委托设置为nil,但这个地方错了.
这就是我解决它的方式:
- (void)viewDidLoad {
[super viewDidLoad];
adMobAd = [AdMobView requestAdWithDelegate:self]; // start a new ad request
[adMobAd retain];
}
- (void)viewDidUnload {
//Nothing to do here
}
- (void)dealloc {
//THIS IS THE IMPORTANT STUFF
if (adMobAd != nil){
adMobAd.delegate = nil;
}
[adMobAd release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
将代理的"解放"移动到dealloc块已经解决了我的问题.
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |