web-dev-qa-db-fra.com

XCode 7 Attention! a été construit pour la nouvelle version iOS (5.1.1) que d'être lié (5.1)

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?

27
rbmanian75

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.

20
blacky85

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:

  1. Sélectionnez votre projet
  2. Sélectionnez votre cible
  3. Sélectionnez l'onglet "Paramètres de construction"
  4. Faites défiler jusqu'à "Lien"
  5. Éditez "Autres drapeaux de lieur" et ajoutez "-w"

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).

10
Frans

Dans mon cas, j'ai mis à niveau le project vers iOS 6, mais le problème ne s'est pas résolu.

Ensuite, j'ai réalisé que target l'ignorait sous iOS 5.1.1. J'ai effacé les paramètres de la cible et les avertissements sont partis. 

XCode Version 7.0 (7A220).

 Target settings

7
Matt

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:

  1. Naviguez dans vos projets et objectifs Pod.
  2. Modifiez toutes les cibles de déploiement en fonction de votre choix.

Assurez-vous que tous sont similaires.

4
Teffi

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. 

1
Carol Capek

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.

1
user3800960

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.

1
ihsan_husnul

Dans mon cas, j’ai modifié la cible de déploiement dans les cibles sans changer la même chose dans le projet.

0
F.sh

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

0
Qiulang