2010-08-24 6 views
2

Y at-il un moyen d'envoyer un avertissement à XCode si une méthode n'est pas disponible sur une ancienne version? Par exemple, mon application peut avoir une cible de déploiement de 3,0, mais un SDK pris en charge jusqu'à 4,0. Cela signifie que je pourrais utiliser des méthodes qui peuvent être utilisées sur 4.0, mais ne sont certainement pas disponibles lors de l'exécution sur un périphérique 3.0.XCode pour afficher les avertissements sur les nouvelles méthodes non disponibles sur les anciennes cibles?

Répondre

1

Informez-vous sur votre projet (ou cible) et modifier le « préprocesseur macros » paramètre pour ajouter

__IPHONE_OS_VERSION_MAX_ALLOWED=30000 

Le nombre spécifique dépend du SDK, et se trouve dans l'en-tête Availability.h.

+0

est-il de toute façon ignorer la syntaxe et seulement montrer les fonctions manquantes? Im utilisant plblocks et il montre des tonnes d'erreurs ... – RolandasR

+1

@Kevin Ballard: J'approuve GameBit, cela soulève juste des tonnes d'erreurs sur les en-têtes d'Apple, mais pas une seule erreur sur le code source du projet. – Oliver

1

Ceci est un moyen. Vous pouvez également utiliser une méthode d'objets de classe respondsToSelector:(@selector) pour demander si un objet particulier répond à une commande particulière ou non. Ceci est utile lorsque vous voulez prendre en charge des fonctionnalités uniquement disponibles dans la version 4.0, mais que vous souhaitez également que le programme s'exécute en version 3.0 sans cette fonctionnalité. Cela vaut également pour le matériel qui peut ou ne peut pas être disponible. Par exemple, vous devrez peut-être vérifier si un appareil dispose d'un gyroscope avant de commencer à lui poser des questions sur l'état de son gyro (par exemple iPhone 4 vs 3GS/3G).

Questions connexes