92

これは私が受けている奇妙なクラッシュです。特定のViewControllerに移動するボタンを押すとクラッシュが発生します。クラッシュする行は次のとおりです。

DestinationInformationViewController *info = [[DestinationInformationViewController alloc] init];
[info setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[self presentViewController:info animated:YES completion: nil]; // CRASHES HERE
[info release];

クラッシュトレースは次のとおりです。

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint' *** First throw call stack: (0x3758288f 0x35287259 0x37582789 0x375827ab 0x3153d54d 0x3153d6bb 0x3153d423 0x314ce001 0x3143c3c7 0x31319c59 0x3128fc17 0x3129a267 0x3129a1d5 0x3133959b 0x31338367 0x84091 0x374dc3fd 0x31271e07 0x31271dc3 0x31271da1 0x31271b11 0x31272449 0x3127092b 0x31270319 0x31256695 0x31255f3b 0x33c9822b 0x37556523 0x375564c5 0x37555313 0x374d84a5 0x374d836d 0x33c97439 0x31284cd5 0x82bb3 0x71200) terminate called throwing an exception(gdb) Could not instantiate class named NSLayoutConstraint

注:これはiPhone 4 iOS 5.1ではクラッシュしますが、iPhone 4S iOS 6Beta2ではクラッシュしません

4

4 に答える 4

201

これは、Xcode の新しいインターフェイス ビルダーの問題だと思います。Xcode 4.5 のインターフェイス ビルダーを使用して .xib をビルドしましたか? 私はちょうど今この同じ問題に遭遇しました、そして私はそれが問題だと思います. 私のアプリは iOS 6 で動作しますが、それより古いものは動作しません。

また、 xibsをオフにするUse Auto Layout必要があります。

これは次の方法で実行できます。

  1. xib を開きます。
  2. タブに移動しFile Inspectorます。
  3. Interface Builder Document右側のツールバーでセクションを見つけます。
  4. オプションのチェックを外しUse Auto Layoutます。
于 2012-06-25T23:58:46.260 に答える
43

スクリーンショット

新しい XCode アップデートと IOS6 SDK をダウンロードしたときに、同じ問題が発生しました。これが私がそれを解決した方法です:

エラーが発生したインターフェイス ビルダー ファイル (xib ファイルまたはストーリーボード ファイル) を選択します。XCode の右側にあるアシスタント エディターで、左から最初のタブを選択すると、上のスクリーンショットのように [自動レイアウトを使用] オプションのチェックボックスがあります。チェックボックスをオフにします。

于 2012-09-28T12:23:18.430 に答える
4

Nagaraja は、「xib を使用していない場合、同じ問題を解決するにはどうすればよいですか?私はまさにこの問題に遭遇しました。xib を使用してコントローラーを作成し、次に xib ファイルを削除することにしました。クラッシュは解消されませんでした。問題は実装する必要があったこと

- (void) loadView

私のコントローラークラスで。この方法を実装すると、問題は解決しました。

于 2012-10-21T02:27:09.087 に答える
1

presentViewController でクラッシュする別の考えられる理由は、もう存在しない変数に接続された nib 内の何かがあることです。変数の名前が変更されたか、削除されました。

于 2012-08-13T19:36:08.297 に答える