How can I fix NSInvalidUnarchiveOperationException

Cocoa Dev picture Cocoa Dev · Jun 18, 2012 · Viewed 12.1k times · Source

* Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '* -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (NSLayoutConstraint)'

I have a very simple app

One view has one button

I Control Click and dragged the button to a second view and selected MODAL

When I run it in the simulator, everything works

When i run it in my iPad running iOS 5.1.1, it crashes with the error above. I have no idea why and there is no code.

Answer

Mike Weller picture Mike Weller · Jun 18, 2012

This is occuring because you are using Xcode 4.5 (or previously the beta) which uses "auto layout" by default. Auto layout is only available on iOS 6 so you will get a runtime error on previous iOS versions.

You can fix this by opening your Storyboard, opening the Utilities pane, and disabling the "Use Autolayout" checkbox in the first tab/section:

enter image description here

For regular non-storyboard nibs, select the top-level view to access this option.