1. ホーム
  2. ios

[解決済み] NSLayoutConstraintがViewControllerをクラッシュさせる [重複] 。

2022-10-25 16:42:28

質問

重複の可能性があります。

presentViewController: iOS 6 (AutoLayout)でクラッシュする。

アプリのボタンをクリックすると、このエラーが発生します。

2012-06-28 21:43:36.860 AppName[2403:707] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
*** First throw call stack:
(0x3568788f 0x37a2e259 0x35687789 0x356877ab 0x333a254d 0x333a26bb 0x333a2423 0x33333001 0x332a13c7 0x3317ec59 0x330f4c17 0x330ff267 0x330ff1d5 0x3319e59b 0x3319d367 0x331f86a7 0x8fb11 0x355e13fd 0x330d6e07 0x3319c5e7 0x355e13fd 0x330d6e07 0x330d6dc3 0x330d6da1 0x330d6b11 0x330d7449 0x330d592b 0x330d5319 0x330bb695 0x330baf3b 0x3727a22b 0x3565b523 0x3565b4c5 0x3565a313 0x355dd4a5 0x355dd36d 0x37279439 0x330e9cd5 0x8f6cb 0x8f628)
terminate called throwing an exception

エラーはこの行のコードに文句を言います。

-(IBAction) goToAbout {
    About *screen = [[ About alloc] initWithNibName:@"About" bundle:nil];
    screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:screen animated:YES];
}

iPhoneだけエラーが出るのですが、シミュレータでは出ないのですが...。

解決方法を教えてください。

をサポートしていないデバイスでこれを実行しようとする前に、NIB の "use auto layout" というボックスのチェックを外す必要があります。 NSLayoutConstraint クラスをサポートしないデバイス上でこの処理を実行しようとする前に、"use auto layout" というボックスをオフにしなければなりません。