2015-12-09 14 views
5

Ich habe zuvor OS X Mavericks mit Xcode 7.1 ausgeführt, ich habe gerade auf OS X El Capitan und Xcode 7.2 aktualisiert. Meine App wurde auf dem Simulator und dem Gerät ohne jegliche Warnungen für das Storyboard gestartet. Jetzt sehe ich eine Reihe von Warnungen für mit diesem Fehler Einschränkungen in Storyboard und die App-Abstürzen fehlen:Projekt auf Xcode 7.2 auf OS X migrieren El Capitan bricht den Build

beenden app aufgrund nicht abgefangene Ausnahme ‚NSInvalidUnarchiveOperationException‘, Grund: ‚kann nicht instanziiert Klasse mit dem Namen IBNSLayoutConstraint‘

ich auch versuchte die hier veröffentlichte Lösung: Could not instantiate class named IBNSLayoutConstraint

Ich konnte nirgendwo in xml Platzhalter = "YES" finden und mein Storyboard ist zu groß, um tatsächlich durch jede Einschränkung zu sehen, ob ich versehentlich Placeholder Checkbox für alle aktiviert haben Zwang.

Ich sehe die folgenden Warnungen beim Anzeigen von xml des Storyboards.

enter image description here

+0

@SandyChapman: Tut mir leid, das habe ich nicht verstanden. Könnten Sie bitte etwas ausarbeiten? – EmbCoder

+0

@SandyChapman: http://pastebin.com/NxAdh3q7 – EmbCoder

+0

Ich habe das gleiche Problem in einem meiner Projekte .. kann nicht herausfinden, warum .. Ich kehrte zurück zu 7.1.1 –

Antwort

4

Sie sind in der Tat nicht ein Storyboard verwenden, sondern eine Xib. In Ihrer Datei finden Sie Abschnitte wie diese finden:

<mask key="constraints"> 
    <exclude reference="6fq-cy-xp8"/> 
</mask> 

Sie werden Ihre .xib als „Source Code“ öffnen möchten, und entfernen Sie diese so, dass die Zwänge installed werden.

+0

Das hat funktioniert! Ich verstehe nicht, ob sie immer da waren oder ob sie während der Migration hinzugefügt wurden. Weißt du, ob etwas in IB getan werden kann, um sicherzustellen, dass es nicht wieder passiert? – EmbCoder

+1

Normalerweise geschieht dies nicht, wenn Sie das Kontrollkästchen in IB nicht aktivieren, um den Zustand "installiert" zu deaktivieren. –

1

Wählen Sie Storyboard Deaktivieren Sie die Größenklasse, um mein Problem zu lösen. Hoffe das wird dir helfen! Danke Nachdem Sie Ihr Projekt erstellt haben, können Sie die Größenklasse erneut aktivieren.

enter image description here

+1

Ist das nicht im Grunde dasselbe wie zu sagen: "Zerstöre deine Benutzerschnittstelle und baue sie dann neu auf"? Apps mit einer großen Benutzeroberfläche würden fast ihre gesamte Größenklassenkonfiguration verlieren, indem sie Größenklassen deaktivieren. Diese Umgehung sollte eigentlich nur als eine "nukleare" Option als letzter Ausweg betrachtet werden. –

0

gut in erster Linie sicherstellen, dass, wenn Sie IB verwenden zu überprüfen, ob Sie haben noch keine Einschränkungen, die mit der „installiert“ Checkbox aktiviert, wenn die Ansicht sie gehören ist „nicht installiert ". Xcode 7.1 gibt keine Warnung darüber, aber 7.2 verursacht einen Absturz

+0

Für jede Einschränkung im Storyboard ist standardmäßig mindestens ein Kontrollkästchen "installiert" aktiviert. Ich weiß nicht, wie das funktioniert oder was verschiedene Checkboxen bedeuten, aber sie scheinen keine Probleme zu verursachen. – EmbCoder

0

DisableAutoLayout auf Ihrem Storyboard. Dies sollte dein Problem beheben.