2010-08-27 12 views
0

J'ai créé une application universelle pour iPhone-iPad. Je ne travaille que sur la partie iPhone pour le moment. Dans le fichier d'en-tête du contrôleur d'affichage pour l'iPhone, j'importe l'en-tête adbanner et crée une variable adbannerview avec une propriété correspondante. Je ne le fais pas dans le fichier nib mais vérifie plutôt au moment de l'exécution si la classe existe, si c'est le cas, je crée un adbanner programmé puis j'attache la variable adbannerview pour que je puisse me référer à d'autres fonctions. Tout fonctionne sur le simulateur 4.0. J'ai aussi faible lié la classe iad. Donc, si je prends le même code avec une version antérieure de xcode et que j'essaie d'utiliser la version 3.0, cela donne toutes ces erreurs en disant que je ne peux pas importer l'entête et faire la variable adbannerview et la propriété, comment faire Je contourne cela?Comment faire fonctionner iAds sur une application iPhone + iPad 3.0 +?

Merci. Si vous avez besoin de plus de détails ou de mon code, il suffit de demander.

+0

double possible de [Est-Apps à l'aide iAd compatible avec les anciens iOS] (http: // stackoverflow .com/questions/3128457/are-apps-using-iad-compatible-with-older-ios) –

+0

Voir aussi [Projet universel iPhone/iPad avec framework iAd] (http://stackoverflow.com/questions/311201) 6/universel-iphone-ipad-projet-avec-iad-cadre) et [iAd et iphone avant compatibilité 4g] (http://stackoverflow.com/questions/3059967/iad-and-iphone-before-4g-compatibility) –

+0

Ce ne sont pas des doublons car ni l'un ni l'autre ne répondent à la question. Peut-être que je n'ai pas précisé, ces autres questions se rapportent à créer l'adbanner à l'exécution en utilisant le NSClassFromString, ce que j'ai fait, mais lorsqu'il est mis sur un appareil OS 3, il se bloque à l'importation adbanner.h. Comment pourrais-je passer cela? Fondamentalement, comment puis-je l'importer en fonction de quelle version. – SolidSnake4444

Répondre

1

Le cadre AdLib et les iAds sont uniquement disponibles dans iOS> 4.0. Par exemple, voir le docs for ADBannerView:

Disponibilité Disponible dans iOS 4.0 et plus tard.

Si vous essayez de construire l'application sur une ancienne version du sdk (ne fonctionne pas seulement le binaire sur un appareil plus ancien) et obtenez des erreurs lorsque vous essayez d'importer les en-têtes comme votre question le suggère, vous pourriez essayez d'emballage les importations qui échouent dans une directive #ifdef qui teste pour les macros de disponibilité de Availability.h, quelque chose comme:

#ifdef __IPHONE_4_0 
    // iOS 4 specific imports here 
#endif 
+0

Oui, alors comment est-ce que je ferais une vérification pour que l'iAd ne s'affiche pas sur les firmwares précédents? – SolidSnake4444

+0

Je crois que c'est ça. La sim me donne une erreur en disant qu'elle ne peut pas trouver le framework iad mais c'est probablement dû au fait qu'il s'agit d'un xcode plus ancien. Il compile maintenant avec seulement cette erreur, donc une fois que j'obtiens un périphérique 3.0, je suis sûr que ça devrait marcher, j'espère. Je faible lié le cadre iAd. Merci pour l'aide. – SolidSnake4444

+0

Si vous vérifiez encore cette question, que se passe-t-il si quelqu'un a 4.0.2, que se passerait-il avec ce code? – SolidSnake4444