Ich bin sehr neu in diesem Bereich. Ich habe das Tutorial von Apple Schritt für Schritt für das iPhone-Projekt "HelloWorld" befolgt. Ich habe es im iPhone 5.0 Simulator ausgeführt und es ist abgestürzt:
2012.11.02 14: 46: 06,782 Hello World [9880: c07] * Beenden app aufgrund nicht abgefangene Ausnahme 'NSInvalidUnarchiveOperationException' Grund: 'Kann nicht instantiate Klasse mit dem Namen NSLayoutConstraint' * Erster Wurf Call - Stack: (0x14a2052 0xea2d0a 0x144aa78 0x144a9e9 0x32f7d7 0x32f9af 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5 0x13db022 0x13d990a 0x13d8db4 0x13d8ccb 0x112a7 0x12a9b 0x1fed 0x1f15 0x1) Auslösen einer Ausnahme (LLDB genannt terminate)
Kann mir bitte jemand sagen, was schief gelaufen ist? Ich benutze Xcode 4.5.
quelle
Antworten:
Wenn Sie ein neues iOS-Projekt in Xcode 4.5 erstellen, verwendet Ihr Storyboard oder XIB standardmäßig Autolayout, eine neue Funktion in iOS 6.0. Die
NSLayoutConstraint
Klasse ist Teil des Autolayout-Systems und in älteren Versionen von iOS nicht vorhanden.Wenn Sie Ihre App auf einer älteren Version von iOS bereitstellen möchten, müssen Sie Ihr Storyboard oder XIB ändern, um Autolayout nicht zu verwenden. Es ist ein Kontrollkästchen im Dateiinspektor:
quelle
Ihre Xib-Datei (Interface Builder-Datei) enthält AutoLayout-Elemente, die iOS 5 nicht unterstützt.
Wechseln Sie in Xcode zu Ihren .xib-Dateien, und deaktivieren Sie für jede Datei das AutoLayout. Auf der linken Seite sollte sich ein Kontrollkästchen mit der Aufschrift "AutoLayout verwenden" befinden. Deaktivieren Sie es und versuchen Sie es erneut. (Dies befindet sich unter der ersten Registerkarte im Inspektor auf der linken Seite, wenn Sie den Eigentümer der Datei haben.)
quelle
Ich bin auf diesen Fehler gestoßen, als ich an einem älteren Projekt arbeitete, das ich aktualisieren wollte. Ich hatte das Kontrollkästchen "Autolayout verwenden" aktiviert, um mit Einschränkungen zu arbeiten, aber vergessen, meine Einstellung für das Bereitstellungsziel auf iOS 6 zu aktualisieren.
quelle
Sie müssen es im iPhone 6.0 Simulator ausführen. Ihr Fehler:
Schlägt vor, dass Sie Autolayout verwenden, das nur unter iOS 6 funktioniert.
quelle