Dans Xcode, comment supprimer tous les avertissements dans des fichiers source spécifiques?

137

Dans mon application, j'utilise du code tiers qui déclenche des avertissements. Je les ai examinés et ils peuvent être ignorés en toute sécurité.

Maintenant, je veux "marquer" un fichier d'une manière ou d'une autre, donc Xcode n'affichera aucun avertissement pour le code dans ce fichier.

Comment dois-je faire ça?

Bobrovsky
la source

Réponses:

277

Sélectionnez votre cible et affichez les phases de construction. Entrez ensuite le nom du fichier dans la zone de recherche et vous devriez le voir répertorié dans la phase de compilation des sources. Double-cliquez dans la colonne Drapeaux du compilateur pour ce fichier et entrez -wpour désactiver tous les avertissements pour ce fichier.

Jon Reid
la source
9
Hmm, je m'attendais -wà désactiver tous les avertissements, mais peut-être que le nouveau compilateur n'y prête pas attention. Dans ce cas, désactivez les avertissements individuels. Recherchez l'avertissement en question dans les paramètres de construction et affichez l'aide rapide dans la vue Utilitaires. Vous devriez voir une description, avec une -Wname-of-warningsyntaxe. Ajoutez «non-» au nom et spécifiez-le dans les indicateurs du compilateur. Exemple: pour désactiver, -Wunused-parameterspécifiez-Wno-unused-parameter
Jon Reid
14
Il s'avère que tout cela dépend du compilateur. Je veux dire, dans un projet qui utilise le compilateur LLVM GCC -wfait l'affaire et dans un autre projet qui utilise le compilateur GCC simple -Wno-name-of-warningest la seule façon d'aller.
Bobrovsky
6
Merci pour l'indice, a également travaillé pour moi ( -wet LLVM). Vraiment pratique lorsque vous incluez des fichiers tiers que vous ne souhaitez pas modifier.
user826955
1
@Zammbi Puisque le code est généré automatiquement, corrigez-le pour générer du code sans avertissements. Si vous ne pouvez pas faire cela, ajustez automatiquement le projet Xcode pour définir l'indicateur du compilateur.
Jon Reid
11
Ne fonctionne pas avec Swift 2 en utilisant Xcode 7.0 et Apple LLVM 7.0
King-Wizard
6

Sélectionnez Projet dans le navigateur de gauche et sélectionnez la cible aller à la phase de construction et mettre -w dans la phase de construction du fichier cible. Il masquera tous les avertissements du compilateur entrez la description de l'image ici

Spydy
la source
17
Ne fonctionne pas avec Swift 2 en utilisant Xcode 7.0 et Apple LLVM 7.0
King-Wizard
2
passer des indicateurs de compilateur clang à un compilateur étranger ne fonctionne pas. quelle surprise ... recherchez l'indicateur d'avertissement pour le compilateur rapide et ajoutez-le à la place.
jheriko le
4

Cela fonctionne pour Xcode 10.2+ et Swift 5

Correction manuelle:

Ajoutez -w -Xanalyzer -analyzer-disable-all-checksau fichier problématique à partir de Xcode> Projet> Cibles> Compiler les sources> Double-cliquez sur le fichier dans lequel vous souhaitez désactiver les avertissements.

Correction des cocoapodes:

Si vous essayez de supprimer les avertissements d'un pod problématique, vous pouvez supprimer automatiquement tous les avertissements de la dépendance avec l' inhibit_warningsindicateur dans votre podfile :

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

entrez la description de l'image ici

Cal S
la source
Le correctif cocoapods a fonctionné un régal, merci!
adougies le