J'ai mis à niveau le projet xcode 6 vers le xcode 7 et j'ai commencé à constater que l'avertissement était conçu pour une version iOS plus récente (5.1.1) qu'être lié (5.1).
Comment résoudre cet avertissement?
Dans mon cas, cet avertissement a été généré car la cible de déploiement iOS de l'un de mes sous-projets XCode était supérieure (7.1) à celle de mon projet de base (7.0). Si vous utilisez des coco-capods, cette mauvaise configuration peut survenir lorsque vous spécifiez une version de plate-forme iOS incorrecte dans votre fichier Podfile. Dans mon exemple, j'ai spécifié dans mon Podfile
platform :ios, '7.1'
alors que je règle la cible de déploiement dans mon XCode-Project sur iOS 7.0. La définition de DeploymentTarget du sous-projet sur la même version iOS que BaseProject résout cet avertissement.
Mise à jour: semble être résolu avec Xcode 7.3 (7D175). J'ai supprimé le drapeau -w, l'avertissement n'apparaît plus.
Cela semble être un bogue connu dans Xcode 7.0 et 7.1B1 (bogue n ° 21813082).
En guise de solution de contournement temporaire, pour supprimer les avertissements étendus, l'indicateur -w peut être ajouté à Paramètres de construction -> Autres drapeaux de l'éditeur de liens:
J'ai seulement ajouté ceci aux paramètres de construction de Debug et inséré ce qui suit dans AppDelegate, juste comme rappel:
#ifdef DEBUG
#warning Linker warnings suppressed (-w in build settings)
#endif
Cela aide au moins à repérer rapidement les véritables avertissements au lieu d’inonder les résultats de la construction du même avertissement pour chaque source (dans mon cas, plus de 150 avertissements sont apparus).
Dans mon cas, mon projet était défini sur 8.4 mais tous les autres sous-projets/objectifs sont toujours sur 9.0 Apparaît comme étant causé par des incohérences de cible de déploiement.
Pour ceux qui utilisent des Cocoapods:
Assurez-vous que tous sont similaires.
Dans mon cas, la cible de déploiement dans la section de projet (7.0) était différente des cibles de déploiement cibles (8.0). Vérifiez donc que les objectifs de déploiement de votre projet et de chaque objectif de votre projet sont identiques.
Changez d'abord la cible de déploiement iOS sous Projet, puis changez la cible de déploiement sous Cibles. Supprimer le fichier à /Users/yourUser/Library/Developer/Xcode/DerivedData (rm -rf yourProject
). Pod installer à nouveau, puis dire au revoir à l'avertissement.
essayez d'ajouter "-w" sur "Liaison-> Autres drapeaux de l'éditeur de liens".
Cela se produit dans mon cas lorsque mySDK a été créé avec un SDK de base supérieur à la cible de développement myProject.
Dans mon cas, j’ai modifié la cible de déploiement dans les cibles sans changer la même chose dans le projet.
Dans mon cas, j'ai construit les bibliothèques avec le dernier iOS, mais la cible de déploiement de l'application est inférieure à celle. Je pense donc que je ne peux rien faire à part ajouter -w à un autre indicateur de l'éditeur de liens