Cet avertissement se produit dans Xcode 6.1. Quelqu'un a-t-il une idée de ce que cet avertissement signifie et de ce qui va se passer? Merci beaucoup!
Ci-dessous, une capture d'écran avec les avertissements ouverts dans le code source "
Comment trouver quelle contrainte cause l'avertissement? Xcode ne vous dit pas quelle contrainte est le problème.
Cet avertissement peut être ennuyeux et se produit à partir de Xcode 6.1.1. Le problème principal est que vous ne pouvez pas trouver facilement la contrainte référencée en cliquant sur l’avertissement. Je suppose que c'est un bogue et que ça va être corrigé tôt ou tard.
Cependant, en attendant, vous pouvez utiliser cette petite solution de contournement:
Reveal in Log
????... snip ...
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Dlb-cb-nWC: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:6Ze-mO-v5N: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:9av-xw-u1o: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:RPt-Uf-vaZ: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Rnc-4M-7jV: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:epJ-D9-KEF: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:4HC-Gu-01w: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
... snip ...
Notez que pour Xcode of 5/2016, vous devez quitter et restart Xcode pour effacer cet avertissement dans certains cas.
Notez que de manière confuse, la même erreur peut être causée par un problème sans lien (il semble s'agir d'un bogue Apple ou d'une mauvaise utilisation du langage d'erreur): si vous avez des éléments IBInspectable
et que vous obtenez les renommer dans vos fichiers Swift. Xcode ne pas supprime pour vous l'ancien nom UserDefinedRuntimeAttributes. Cliquez simplement sur "Inspecteur d'identité" (élément 3 sur le panneau de droite) et supprimez les éléments non récupérés.
Ce message est déclenché lorsque vous avez désactivé une vue dans votre storyboard mais que vous n'avez pas désactivé les contraintes basées sur cette vue.
Par exemple, vous avez désactivé un bouton, mais vous avez toujours des contraintes liées à ce bouton. Il peut s'agir d'une contrainte intrinsèque telle que la hauteur ou la largeur, ou d'une contrainte relative telle que la distance par rapport à une autre vue.
Vous devez désactiver chacune des contraintes faisant référence à la vue, et vous devez le faire manuellement. Xcode est trop conservateur ici et ne le fera pas pour vous.
Cette solution fonctionne pour moi.
Comme j'ai copié plusieurs éléments du projet développé dans Xcode 5 dans Xcode 6 et que le storyboard de Xcode 6 prend en charge plusieurs dispositions, pour chaque contrainte, je dois l'installer dans la configuration actuelle.
Par exemple, j'utilise "Compact Width | Regular Height" pour la contrainte que je dois définir comme ci-dessous:
Après avoir vérifié et défini toutes les centaines de contraintes de mes projets, les nettoyer et les construire, les avertissements disparaissent enfin.
Je voulais juste ajouter à mon cas comment cette erreur s'est produite pour moi: dans mon cas, je voulais supprimer un champ de texte avec "Cmd + Backspace". Je l'ai fait directement dans l'arborescence de Scène-Builder:
Vous pouvez voir que le champ snooze est grisé.
Donc, cela a été facilement découvert pour moi. Vous pouvez simplement supprimer le champ en sélectionnant:
Édition-Supprimer du menu
Étonnamment - cela supprime vraiment le champ (y compris les contraintes) . Peut-être que cela aide quelqu'un à trouver facilement la cause de cet avertissement gênant ...
Pour moi, cela se produit si je donne à un objet une nouvelle contrainte d'objet (pas de vue) avec l'option "Contrainte aux marges" non cochée. Problème résolu avec cocher l'option (qui est par défaut).
Cela peut être dû au fait que vous avez sélectionné une classe de taille non compatible avec vos contraintes (wAny hAny
est un cas courant). Dans ce cas, il suffit de sélectionner une classe de taille différente dans Interface Builder et vous avez terminé.
Ce qui a fonctionné pour moi (et je ne sais pas pourquoi) est d’activer l'option "Utiliser les variantes de trait", d'effectuer un nettoyage, puis de la réactiver. La prochaine construction n'avait aucun avertissement.
Pour désactiver "Utiliser les variantes de trait", sélectionnez simplement votre story-board dans le navigateur de projet, puis sélectionnez Inspecteur de fichier.
Désélectionnez ensuite "Utiliser les variations de trait", effectuez un nettoyage en appuyant sur Maj-CMD K, puis réactivez les variations de trait si vous souhaitez les utiliser.
Mon cas est choisir étiquette, puis cliquez sur Ctrl + X, il sera désactivé, mais je ne fais rien avec elle. Quand je construirai, il affichera un avertissement. Solution: enlever l’étiquette ou enlever le contrôle choisi + X pour l’étiquette.
Je pensais que c’était une contrainte persistante à cause de l’autre réponse, mais c’était dû à un «point de vente» qui me restait pour un élément que j’avais supprimé auparavant. Que faire, c'est:
Dans le pire des cas, vous supprimez tous vos points de vente et vous les branchez à nouveau. Cas résolu!
Comme mentionné et bien guidé dans la réponse de @ BadCat } _, .__, j'ai suivi les étapes et juste une étape de plus que j'ai osé faire!
Les étapes à suivre après la dernière étape de BadCats répondent:
Étape 1:
J'ai sélectionné la contrainte dans Interface Builder, en gardant à l'esprit son utilité, puis je l'ai supprimée.
Étape 2
Construisez le projet XCode et il vous montrera que le nombre d’avertissements est peut-être augmenté. C'est parce que vous avez supprimé une contrainte qu'il faut bien compiler. Alors, allez à la 3ème étape!
Étape 3
Ajoutez de nouveau la contrainte que vous avez gardée à l'esprit (celle que vous avez supprimée) . Et reconstruisez-la ensuite!
Pour moi, les avertissements ont disparu simplement en faisant ceci!… Je pense que cela fonctionnera pour certaines personnes!
Cause:
Comme je pouvais comprendre le problème qui a provoqué cet avertissement, j’avais une étiquette connectée à un IBOutlet, mais son nom commençait par une lettre majuscule. Alors je l'ai renommé avec une simple lettre dans ViewController et je suis venu le changer dans l'IB. J'ai supprimé passé IBOutlet et je suis allé le connecter au nom de la propriété récemment renommé et connecté. Ensuite, j'ai remarqué qu'il y avait un nouvel avertissement.
J'ai d'abord essayé les réponses suivantes dans ce fil, mais cela n'a pas aidé!
À votre santé!
J'ai eu le problème sur une vue de pile. Supprimer les contraintes et les ré-ajouter n'a pas aidé. Le nettoyage et la reconstruction n'ont pas aidé.
Pour moi, la solution consistait à créer un nouvel objet de vue de pile.
Déplacez ensuite tous les éléments de l'ancienne vue de pile dans la nouvelle vue de pile.
La suppression de l’ancienne vue de pile corrigeait le problème.
Je supprime tous les éléments de l'interface utilisateur, y compris leurs contraintes, et les rajoute tous à nouveau, ces avertissements disparaissent tout simplement. Quoi qu’il en soit, c’est un moyen pire mais utile de résoudre ce problème.