J'utilise beaucoup de bibliothèques tierces contenant de nombreux avertissements, après les dernières mises à jour de Xcode. (par exemple le pod SDK de Facebook) Maintenant, tous ces avertissements sont affichés dans mon Xcode à l'endroit où je veux voir mes propres avertissements ou erreurs.
Est-il possible d'ignorer ces erreurs? Leur correction ne sera d'aucune utilité, car après chaque "installation pod", les modifications sont ignorées.
Ajoutez à votre podfile:
platform :ios
# ignore all warnings from all pods
inhibit_all_warnings!
# ignore warnings from a specific pod
pod 'FBSDKCoreKit', :inhibit_warnings => true
Puis exécutez: pod install
Vous pouvez rechercher "inhibit_all_warnings" dans les paramètres de construction xcode de PodBundle dans votre espace de travail (projet). Définissez la valeur sur "OUI" pour masquer tous les avertissements relatifs au fichier Pod.
Si vous le faites sur votre espace de travail, tous vos projets seront également masqués.
Bien que cette autre réponse supprime les avertissements lors de la phase de construction, il ne semble pas résoudre complètement la phase Analyze
(ce qui a causé des problèmes à la construction de notre CI).
Ce qui a fonctionné pour moi (en plus de la réponse acceptée) a été:
Pods
dans le navigateur de projet.Pod-
réelle et cliquez sur Build Settings
compiler flags
Ajoutez un nouveau Other C Flags
avec la valeur -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
(ou selon l’analyseur à désactiver) - cette réponse fournit la liste complète des drapeaux à essayer.
La version de clang
dans Xcode 6.3.1 ne semble cependant pas inclure insecureAPI
, vous pouvez donc la supprimer de cette liste. La liste complète "actuelle" est -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix
Notez que régler ceci sur le Pods
Project ou Pods
Target ne fonctionnera pas . Je ne sais pas pourquoi, mais vous devez le définir pour chaque cible réelle Pod-
.
Vous pouvez également définir les indicateurs du compilateur (-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
etc.) sur une base par fichier .
J'ai également essayé quelques autres méthodes (qui peuvent ou non être nécessaires en plus de ce qui précède). Ils ont été exécutés sur le projet Pods
lui-même.
[1]
analyzer
Analyze During 'Build'
est réglé sur NO
.NO
(y compris Improper Memory Management
).[2]
warnings
inhibit all warnings
par YES
Pour une raison quelconque, même la désactivation de l'étape Analyze
du schéma ne semble pas fonctionner.
Allez à la fenêtre Product > Scheme > Manage Schemes
, cliquez sur chaque Pod-*
de la liste et cliquez sur le bouton Edit
. Cliquez sur Build
dans la liste de gauche, puis décochez la case Analyze
à droite pour le Pod
cible.
Je ne comprends toujours pas pourquoi je ne parviens pas à désactiver complètement l'analyse des pods, même si je suppose que cela pourrait avoir à voir avec "Rechercher les dépendances implicites" dans les paramètres de construction du schéma. Toutefois, si cette option n'est pas cochée, il semble que l'application doive créer un lien vers les pods.
Étape 1: Mettez le script ci-dessous dans votre Podfile.
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
Étape 2. Faites pod install
.