web-dev-qa-db-fra.com

Désactiver les avertissements dans Xcode à partir des frameworks

J'ai importé le projet three20 dans mon projet, et lorsque j'ai mis à niveau vers Xcode 4.2 avec iOS 5, un tas d'avertissements est apparu dans le projet.

Je m'en fous d'eux, mais ils font beaucoup de bruit, et il est facile de passer à côté de véritables avertissements dans mon projet maintenant. Existe-t-il un moyen de désactiver les avertissements pour ces bibliothèques spécifiques?

60
Micah Hainline
  1. Si vos bibliothèques tierces sont ajoutées en tant que cible distincte, vous pouvez vérifier Inhibit all warnings pour que cette cible spécifique désactive tous les avertissements.

  2. Si votre bibliothèque est ajoutée en tant que fichiers source standard à votre cible actuelle, vous pouvez définir -w Indicateur du compilateur pour les sources individuelles pour couper tous les avertissements qu'elles contiennent. Vous devez aller à Build phases menu de votre configuration cible et définissez cet indicateur pour chaque fichier source dans Compile Sources section en double-cliquant sur chaque fin de fichier en entrant -w drapeau. enter image description here

147
iHunter

Si vous utilisez des pods, vous pouvez l'ajouter à votre podfile pour empêcher la journalisation des avertissements:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES"
    end
  end
end
11
Alaa Eddine Cherbib

Si les avertissements proviennent de la bibliothèque incluse ou des fichiers d'en-tête de framework, vous pouvez encapsuler des instructions comme celle-ci:

#pragma clang diagnostic Push
#pragma clang diagnostic ignored "-Wnullability-completeness"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
#pragma clang diagnostic pop

Placez votre drapeau d'avertissement sur la deuxième ligne ci-dessus. Vous pouvez rechercher un indicateur d'avertissement par un message d'avertissement à ClangWarnings.com

4
Vladimir Grigorov