2010-09-08 5 views
1

Mon programme est tombé en panne:accident iPhone applcation dans admob_iphone_sdk_20100818

#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 

pourquoi?

J'utilise 4.0 SDK et la version du système de l'appareil est iOS 3.1.3.

Mes codes est très simple que d'exemples qui dans "admob_iphone_sdk_20100818".

Répondre

5

Ok, j'ai trouvé la solution. J'étais presque là mais pas tout à fait. Le problème est de mettre le délégué à zéro, mais l'endroit était faux.

Voici comment je l'ai résolu:

- (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]; 
} 

Déplacement de la « libération » du délégué au bloc dealloc a résolu le problème pour moi.

J'espère que ça aide!

+0

Merci, cela a fonctionné pour moi aussi. –