2012-11-02 5 views
162

매우 신입니다. 나는 아이폰 프로젝트 "HelloWorld"를 위해 단계별로 애플의 튜토리얼을 따라 갔다. iPhone 5.0 시뮬레이터에서 실행하여 추락했습니다.NSInvalidUnarchiveOperationException : NSLayoutConstraint라는 클래스를 인스턴스화 할 수 없습니다.

2012-11-02 14:46:06.782 HelloWorld[9880:c07] * Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint' * First throw call stack: (0x14a2052 0xea2d0a 0x144aa78 0x144a9e9 0x32f7d7 0x32f9af 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x14761c5 0x13db022 0x13d990a 0x13d8db4 0x13d8ccb 0x112a7 0x12a9b 0x1fed 0x1f15 0x1) terminate called throwing an exception(lldb)

누군가 잘못된 정보를 알려주실 수 있습니까? Xcode 4.5를 사용하고 있습니다.

+0

xib/스토리 보드에서 자동 레이아웃 기능을 해제해야합니다. – beryllium

답변

575

기본적으로 Xcode 4.5에서 새로운 iOS 프로젝트를 만들 때 스토리 보드 또는 XIB는 iOS 6.0의 새로운 기능인 Autolayout을 사용하도록 설정됩니다. NSLayoutConstraint 클래스는 Autolayout 시스템의 일부이며 이전 버전의 iOS에는 존재하지 않습니다.

이전 버전의 iOS에 앱을 배포하려는 경우 스토리 보드 또는 XIB를 이 아닌으로 변경해야합니다. Autolayout을 사용합니다. 이 파일 관리자에서 체크 박스입니다 :

turning off autolayout

+29

캡처 및 자르기에 ScreenFlow를 사용했습니다. . 저는 Photoshop을 사용하여 .mov를 .gif로 변 환 시켰습니다. –

+0

이것은 xib의 경우에도 적용됩니다! – virata

+0

이렇게하면 메서드가 구현 된 경우에도 세로 방향에서 가로 방향으로 뷰 회전을 사용할 수 없습니다. 로테이션이 여전히 필요하다면 어떻게 문제를 해결 했습니까? 미리 감사드립니다. ... 좋은 gif ^^ – aGit

7

당신은 아이폰 6.0 시뮬레이터에서 실행해야합니다. 귀하의 오류 :

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

당신은 아이폰 OS 6

21

귀하의 XIB 파일 (인터페이스 빌더 파일)에서 작동 자동 레이아웃을 사용하는 것을 제안은에서 iOS 5가 하지을 지원합니까 자동 레이아웃 요소가 포함되어 있습니다.

Xcode에서 .xib 파일로 이동하여 각각에 대해 AutoLayout을 해제하십시오. 왼쪽에 "Use AutoLayout"이라는 체크 박스가 있어야하며 체크하지 않으면 다시 시도하십시오. (파일의 소유자가있을 때 왼쪽면 속성의 첫 번째 탭 아래에 있음)이 선택되었습니다.

8

업데이트하고 싶었던 이전 프로젝트에서이 오류가 발생했습니다. 제약 조건 작업을 시작하기 위해 "Use Autolayout"체크 상자를 선택했지만 배포 대상 설정을 iOS 6으로 업데이트하는 것을 잊었습니다.

관련 문제