2015-12-07 1 views
0

Je n'arrive pas à comprendre comment restreindre mon Interstitial iAd pour afficher uniquement lorsqu'il y a une connexion Internet. J'ai implémenté la fonction -bannerView:didFailToReceiveAdWithError: et j'ai essayé de consigner l'erreur, mais elle n'a jamais été appelée.Pourquoi mon Interstitial iAd se bloque-t-il en l'absence de connexion Internet?

Le résultat de mon application essayant de charger un iAd sans connexion Internet est un problème de mémoire méchant, et un plantage soudain.

Je suis sûr que la solution est simple, mais je ne la trouve nulle part ailleurs.

+0

Modifier votre question d'inclure comment et où vous implémentez votre interstitielle iAd. Incluez également l'erreur que vous recevez lorsqu'elle se bloque. –

+0

Ce n'est pas nécessairement le problème. Le crash n'a pas de journal, il quitte juste l'application. Ce que je demande vraiment, c'est s'il y a une fonction que je peux appeler pour que l'iAd n'apparaisse pas lorsqu'il n'y a pas de connexion Internet. –

Répondre

0

Il semble que vous demandiez une annonce interstitielle lorsqu'un interstitiel ne se charge pas, ce qui entraîne une boucle infinie de demandes d'annonces lorsqu'il n'y a pas de connexion Internet.

Voici une fonction simple pour vérifier la connectivité:

-(BOOL)canConnectToGoogle { 
    NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://google.com"] encoding:NSUTF8StringEncoding error:nil]; 
    return (URLString != NULL) ? YES : NO; 
}