web-dev-qa-db-ja.com

NSInvalidUnarchiveOperationExceptionを修正するにはどうすればよいですか

*キャッチされなかった例外 'NSInvalidUnarchiveOperationException'が原因でアプリを終了しています、理由: '*-[NSKeyedUnarchiver decodeObjectForKey:]:クラスのオブジェクトをデコードできません(NSLayoutConstraint)'

私は非常にシンプルなアプリを持っています

1つのビューに1つのボタンがあります

Iコントロールクリックしてボタンを2番目のビューにドラッグし、MODALを選択しました

シミュレーターで実行すると、すべてが機能します

IOS 5.1.1を実行しているiPadで実行すると、上記のエラーでクラッシュします。理由がわからず、コードもありません。

30
Cocoa Dev

これは、デフォルトで「自動レイアウト」を使用するXcode 4.5(または以前はベータ版)を使用しているために発生しています。自動レイアウトはiOS6でのみ使用できるため、以前のiOSバージョンではランタイムエラーが発生します。

これを修正するには、ストーリーボードを開き、[ユーティリティ]ペインを開き、最初のタブ/セクションの[自動レイアウトを使用する]チェックボックスを無効にします。

enter image description here

通常の非ストーリーボードペン先の場合は、トップレベルビューを選択してこのオプションにアクセスします。

79
Mike Weller

Xib-> Identity and type-> Interface Builder Document-> useAutoLayoutチェックボックスをオフにします。これは、Ios6の新機能です。

5
Appsunic