Xcode 8. Einschränkung Verweise auf Elemente ausgeschaltet in der aktuellen Konfiguration
Habe ich das problem nach dem Update auf Xcode 8. Jedes mal nach der UI-Objekte gelöscht werden, das Haupt-storyboard bekomme ich die folgende Warnung:
Einschränkung Verweise auf Elemente ausgeschaltet in der aktuellen Konfiguration. Schalten Sie diese Einschränkung in der aktuellen Konfiguration.
Wie es aussieht wird das ein Xcode Fehler, aber trotzdem will ich entfernen Sie diese Warnungen aus dem Projekt. Ich fand, dass es das gleiche problem mit Xcode 6 hier aber keine Antwort von dieser Frage lösen Sie das problem Recht nicht. Also, wenn ich die falsche Einschränkung, die in dem storyboard und es löschen, die Menge der falschen schränkt erhöht statt verringert. Ich Dinge, ich habe auch versucht:
- gereinigt das Projekt
- gereinigt, die abgeleiteten Daten
- gelöscht, alle Zwänge und neue Hinzugefügt aus dem Grund
Irgendwelche Ideen?
- Aktualisierungen auf dieser?
- leider keine
- prüfen Sie, ob Ihr irgendwelche Ansichten nicht gegengesteuert
Installed
- Beachten Sie, dass im Allgemeinen dieses Problem wird verursacht durch: Sie haben ein Element, das un-Installiert, aber es hat Einschränkungen, die noch installiert sind. In der Regel, finden die un-Installiert-Element, und für alle seine Einschränkungen, markieren Sie die un-Installiert
- Möglich, Duplikat der Xcode Storyboard Achtung: Einschränkung Verweise auf Elemente ausgeschaltet in der aktuellen Konfiguration. Schalten Sie diese Einschränkung in der aktuellen Konfiguration
- Dies ist in der Tat eine genaue dupe der verknüpften Frage (Gott sei Dank!) die einzige Verwirrung war, dass an einem Punkt, Danny war ein schlichtes "löschen der Zwänge" (natürlich kannst du nicht tun, dass in iOS, die unabhängig von diesem problem an der hand).
- finden Sie deinstalliert Ansicht leicht durch die Suche in Dokument-Gliederung, deinstalliert Ansicht der Farbe Grau
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich mit mehreren Ansichten, nicht
Installed
, nach dem Update auf xcode 8.1, hatte ich 2 Warnungen.Folgenden Schritte, die für mich gearbeitet:
1) Reinigen Sie das Projekt und starten Sie Xcode, Warnungen verringerte sich um 1.
2) Wählen Sie die Warnung, zeigen Sie genau, welche Einschränkung ein Problem hat. Öffnen
Attributes Inspector
und wählen Sie diejenigen, die Ansichten, in denen integritätsregel angewendet wird, suchen Sie nachInstalled
wenn Ihr unkontrolliert auf die Ansicht (nicht Bedingung). Sie können entweder wählen Sie Installiert auf dem Stadtplan, oder Abwahl Installiert Einschränkung selbst.Siehe Abbildung unten.
Installed
deaktiviert wurde, auf anzeigen, nicht auf die Einschränkung, dass die Abmahnung verweist 🙂Update: das Gleiche Problem wieder mit einem anderen ViewController, eine UIView wurde nicht Installiert für eine Größenklasse, die ich deaktivieren Installiert Einschränkung selbst und die Warnung ist auch Weg, ich denke, es ist nicht ein Xcode Fehler, Ihr zu fordern, sich zu drehen Installiert on/off auf beiden UIView und Constrarint
Die kurze Antwort: Untersuchen Sie die Quelle code für Ihr storyboard für jede der ids in Ihren Warnungen durch die Suche 'id="theIdFromWarning". Die ids sind für die Einschränkungen. Wenn Sie die constraint-id Verweis auf den zwei-element-ids. Suche für Elemente durch die Suche 'id="theIdForElement"', Dann finden Sie den Namen oder einige Stück von Informationen in das element Quell-code herauszufinden, was element, das Sie suchen. Wechseln Sie dann das storyboard wieder aus dem source-code zu der interface builder finden, die beiden Elemente, und sehen, welche Größe der Klasse die zugehörige Einschränkung ist installiert, aber das element ist nicht. Beispiel: ViewA.richtige sein könnte horizontal begrenzt auf ViewB.Links, installiert auf allen Größenklassen, aber ViewA kann nur installiert werden, height=normale Größe-Klasse. Lösung: Installieren Sie ViewA auf alle Größenklassen, oder deinstallieren Sie die Einschränkung für alle Größenklassen und hinzufügen, dass die Einschränkung nur die Höhe=normale Größe-Klasse.
Mehr Antworten, Schritt-für-Schritt:
War ich nicht in der Lage, leicht sehen, was Einschränkungen/Elemente diese Warnungen beziehen. Für mich, ich war in der Lage, nach rechts klicken Sie auf die Warnung, und wählen Sie "Zeigen im Protokoll". Diese ergab 10 Warnhinweise in diesem format:
/my/filepath/to/storyboard:1xe-xx-Bx5: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
Wenn das Protokoll nicht zeigen eine detaillierte Beschreibung wie dieser, dann mit der rechten Maustaste auf eine log-Verweis auf
Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
Warnung, und wählen SieExpand all transcripts
ist, dann suchen Sie Ihre log-Datei, die für die constraint-Beschreibungen.So, ich öffnete mein storyboard mit der rechten Maustaste die storyboard-Datei im Projekt-navigator und ausgewählte 'view source code' gesucht, die für jede Einschränkung von den aufgeführten id (im obigen Beispiel, suchte ich die id:1xe-xx-Bx5), und fand einen Verweis darauf:
<constraint firstItem="Mwb-6O-DKs" firstAttribute="top" secondItem="y2M-Sk-Ygh" secondAttribute="bottom" constant="19" id="1ce-xx-Bx5"/>
Was dieser sagt mir:
Also suchte ich den source-code für das erste element nach id, von der Suche nach
id="Mwb-6O-DKs"
und gefunden:<label ...(truncating for readability sake)...text="Build Label"...(truncating for readability sake)...id="Mwb-6O-DKs">
Dieser sagt mir, dass das erste element ist ein
UILabel
mit dem Titel "Build-Label".Suche für das zweite element durch id
id="y2M-Sk-Ygh"
offenbart:<viewController storyboardIdentifier="login"...(truncating for readability sake)...<layoutGuides><viewControllerLayoutGuide type="top" id="y2M-Sk-Ygh"/>
Also, ich nehme dies bedeuten, dass die
UILabel
mit dem text "Build-Label" hat eine top-constraint ist ausgeschaltet. (da dieviewControllerLayoutGuide
Einschränkung sollte niemals ausgeschaltet werden, es müssen dieUILabel
.Lo und siehe, es war nicht installiert. Ich wählte die
Installed
checkbox für das UILabel, und der Fehler verschwand.1 unten, 9 mehr gehen! (F*ing Xcode...)
Zeigen die
Report Navigator
[, die Registerkarte ganz rechts auf die linke Spalte]. Dies zeigen die build-log mit der Einschränkung ids. Für weitere details, schauen Sie in dieses stackoverflow-post.Hatte ich eine Sicht, die ich hatte deinstalliert, so die Warnung erschien. Nach der Neuinstallation ist der Ansicht, die Warnung ging nicht Weg, auch nach einem sauberen. Aber nach einem Neustart von Xcode die Warnung ging Weg.
Grund
Haben Sie ein Element (z.B. anzeigen), die un-Installiert, aber es hat Einschränkungen, die noch installiert sind. (kommentiert von fattie)
, Wie Sie herausfinden, spezifische Einschränkung
Ist es schwer zu finden genaue Einschränkung, welche Ursachen diese Warnung. Es erwähnt Schritt für Schritt im BastiBen Antwort, wie um herauszufinden, die spezifische Einschränkung.
Lösung
Beratung für Zukünftige
Können Sie auch die view-oder constraint-suchen Sie in tag-in der storyboard-Quelle.
War die Lösung einfach zu löschen deinstalliert Ansichten. So einfach ist das.
Um dieses problem zu lösen gibt es ein paar Optionen:
Erste, was das problem verursacht?
Deinstallieren einer view, ohne es zu deinstallieren Zwängen.
Zweiten warum sollte man also diese?
Möchten Sie vielleicht einen Blick, zu bleiben, in Ihrer view-controller, weil Sie es gebaut hat, und dann die Spezifikationen so verändert, dass Sie wollte vorübergehend zu entfernen, weil vielleicht der Teil war nicht im Lieferumfang enthalten in Ihrem aktuellen sprint oder was haben Sie
Letzten wie löst man es?
Gibt es drei Optionen:
Wenn Sie können einfach installieren Sie die Ansicht
Wenn Sie möchten, um die Ansicht
Wenn Sie können löschen Sie einfach die deinstallation Ansicht alle zusammen
Option 1
Wenn Sie können einfach installieren Sie die Ansicht:
Installieren Sie die Ansicht durch aktivieren der option installiert wie in Bild 2 auf jeder Ansicht, wird ausgeblendet wie in Bild 1
Versuchen Sie, reinigen Sie das Projekt(Befehl +Umschalt+K) - wenn das nicht funktioniert, versuchen Sie einen Neustart von xCode. Wenn das nicht funktioniert, müssen Sie möglicherweise verpasst deinstalliert Ansicht irgendwo.
Option 2
Wenn Sie möchten, um die anzeigen:
1 2
3
Die Einschränkung wird nun auch eingeblendet werden (nicht die Einschränkung-Gruppe) wie in dem ersten Bild.
Option 3
Wenn Sie können löschen Sie einfach die deinstallation Ansicht alle zusammen
Löschen Sie alle Ansichten, die wurden deinstalliert, die automatisch zu löschen, Ihre Zwänge
Reinigen Sie das Projekt (Befehl +Umschalt+K), wenn das nicht funktioniert, versuchen Sie einen Neustart von xCode.
Grundsätzlich, stellen Sie sicher, dass Sie "uninstall" alle Einschränkungen, die für 'deinstalliert' views/buttons/etc.