web-dev-qa-db-ja.com

Xcode7.2がクラッシュする理由 'IBNSLayoutConstraintという名前のクラスをインスタンス化できませんでした'?

***キャッチされなかった例外 'NSInvalidUnarchiveOperationException'が原因でアプリを終了しています、理由: 'IBNSLayoutConstraintという名前のクラスをインスタンス化できませんでした'

Xcodeを7.2に更新してから、すべてが問題ないことを確認し始めます。しかし、このエラーが発生し、クラッシュします。私はこの問題を掘り下げました、「インストールされていないビューに制約がインストールされていないことを確認してください」と誰もが言いました。しかし、アンインストールされた制約はありません。 NSLayoutConstraintアウトレットはありません。どうもありがとう。

20
ali

ローカリゼーションにはおそらくInterfaceBuilder Storyboardを使用しています。また、それらを考慮して、それらの内部の非アクティブな制約を削除するか、ローカリゼーションにLocalizable Stringsを使用する必要があります。

this answerも確認できます。

Storyyboard localization section

4
eakgul

Storyboard Disable Sizeクラスを選択すると、問題が解決します。これがお役に立てば幸いです。ありがとうプロジェクトをビルドした後、サイズクラスを再度有効にすることができます。

enter image description here

24
Arvind Kumar

私の場合、どのサイズのクラスにもインストールされておらず、通常/通常のサイズのクラスにインストールされている「padView」がありましたが、サブビューはすべてのサイズのクラスにインストールされていました。

enter image description here

「PadView」設定:

enter image description here

「PadView」サブビュー設定:

enter image description here

「PadView」サブビューのインストール設定を「PadView」設定と同じに変更すると、問題が解決しました。

enter image description here

9

IBのメインビューでビューが非アクティブ化されました(インストールされていません)。私はそれを削除し、IBを参照せずにすべての制約も削除しました。そして私のために働いた。

View deactivated

Attributes inspector

2
Kayron Cabral

上記の回答に記載されているハッカーを適用せずに解決するのは簡単です。 IBをany/anyに切り替えて、各トップビューのサブビューを確認します。インストールされていないスーパービューとそのサブビューがインストールされている場合は、このインストール済みサブビューをany/anyで無効にして、スーパービューとサブビューのインストールステータスが同じになるようにします。

1
Özgür

IPadのカスタムサイズクラスを設定するアプリがあるので、アプリは縦向きと横向きを通常/コンパクトおよびコンパクト/通常の特性として認識します。

そのため、R/CInstalledとC/R Installedの両方として1つのビューのみをインストールすると、クラッシュしました: '7.2 finalにアップグレードしたときに、IBNSLayoutConstraintという名前のクラスをインスタンス化できませんでした。

修正は非常に簡単です:Any/Anyのビューインストールを追加するには:「インストール済み」

ストーリーボードのソースを比較すると、次の修正後にこの行が削除されたようです。

// y4d-LA-PwQはビュー固有のIDです

1
vedrano

「サイズクラスの使用」を確認してみてください。

enter image description here

1
D.p

アプリの1つがXIBをロードしたときに、「IBNSLayoutContraintという名前のクラスをインスタンス化できませんでした」というエラーが表示されるという同様の問題がありました。結局、私の制約の1つに、そのプロパティにチェックマークが付いていました。 「ビルドから削除」のようなものでした。チェックを外してエラーを解決しました。これがあなたの問題の解決策ではないと思います。

0
John Terry