NSInvalidUnarchiveOperationException : NSLayoutConstraint라는 클래스를 인스턴스화 할 수 없습니다.


165

나는 이것에 매우 익숙하다. 나는 iPhone 프로젝트 "HelloWorld"에 대해 Apple의 튜토리얼을 단계별로 따랐다. iPhone 5.0 시뮬레이터에서 실행했는데 충돌했습니다.

2012년 11월 2일 14 : 46 : 06.782하여 HelloWorld [9880 : C07] * 의한 캐치되지 않는 예외 'NSInvalidUnarchiveOperationException'이유 응용 프로그램 종료 '할 수 없다라는 NSLayoutConstraint 인스턴스화 클래스'* 우선 투사 호출 스택 (0x14a2052 0xea2d0a 0x144aa78 0x144a9e9 0x32f7d7 0x32f9af 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5x0x13b1x0

누군가 무슨 일이 있었는지 말해 줄 수 있습니까? Xcode 4.5를 사용하고 있습니다.


당신은 XIB / 스토리 보드에 자동 레이아웃 기능을 끄려면이
베릴륨

답변:


575

기본적으로 Xcode 4.5에서 새 iOS 프로젝트를 만들면 스토리 보드 또는 XIB가 자동 레이아웃을 사용하도록 설정되어 있으며 이는 iOS 6.0의 새로운 기능입니다. 이 NSLayoutConstraint클래스는 자동 레이아웃 시스템의 일부이며 이전 버전의 iOS에는 존재하지 않습니다.

앱을 이전 버전의 iOS에 배포 하려면 자동 레이아웃을 사용 하지 않도록 스토리 보드 또는 XIB를 변경해야합니다 . 파일 검사기의 확인란입니다.

자동 레이아웃 끄기


29
캡처 및 자르기 위해 ScreenFlow를 사용했습니다. Photoshop을 사용하여 .mov를 .gif로 변환했습니다.
rob mayoff

이것은 xib에도 적용됩니다!
virata

이렇게하면 메서드를 구현하더라도 세로에서 가로로 뷰 회전이 비활성화됩니다. 회전을 계속 원한다면 어떻게 문제를 해결 했습니까? 미리 감사드립니다 ... nice gif ^^
aGit

@robmayoff GIF와 완벽한 답변 주셔서 감사합니다. 내 문제는 잠시 후에 해결되었습니다. :)
ishhhh

나는 이것을 좋아해서 예외 브레이크 포인트를 위해 나만의 것을 만들었습니다. rsaunders.co.uk/2013/06/add-exception-breakpoint.html
Robert

21

Xib 파일 (인터페이스 빌더 파일)에는 iOS 5가 지원 하지 않는 AutoLayout 요소가 포함되어 있습니다 .

Xcode에서 .xib 파일로 이동하여 각 파일에 대해 자동 레이아웃을 끕니다. 왼쪽에 "AutoLayout 사용"이라는 체크 박스가 있어야합니다. 체크 박스를 해제하고 다시 시도하십시오. (파일 소유자가있는 경우 왼쪽 관리자의 첫 번째 탭 아래에 있음)이 선택되었습니다.


8

업데이트하려는 오래된 프로젝트에서 작업 할 때이 오류가 발생했습니다. 제약 조건 작업을 시작하기 위해 "자동 레이아웃 사용"확인란을 선택했지만 배포 대상 설정을 iOS 6으로 업데이트하는 것을 잊었습니다.


7

iPhone 6.0 시뮬레이터에서 실행해야합니다. 오류 :

* Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint' *

iOS 6에서만 작동하는 자동 레이아웃을 사용하도록 제안합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.