Xcode 9으로 업그레이드 하고나서 개발을 시작하려고 하는데 Storyboard 혹은 xib 파일만 열면 Xcode가 종료되서 개발을 할 수 없는 상황이 발생했습니다.

크래시 로그중 일부는 다음과 같이 표시됩니다.

ProductBuildVersion: 9B55
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-13532/IDEKit/Application/IDEDocumentController.m:2223
Details:  There can only be one document registered with a given URL. newDocument:<IBStoryboardDocument: 0x7fcba0fc7000>(  0   -[IDEEditorDocument init] (in IDEKit)
  1   -[IBDocument init] (in IDEInterfaceBuilderKit)

혹은 다음과 같은 에러

ProductBuildVersion: 9B55
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-13529/InterfaceBuilderKit/IssueProvider/IBIssueProvider.m:72
Details:  castedInstance should be an instance inheriting from IBDocument, but it is IDEPegasusSourceEditor.SourceCodeDocument

프로젝트는 아무것도 수정한적이 없고 그저 Xcode 9을 오랫만에 열었을 뿐인데 이런 오류가 발생해서 당황스러웠습니다.

이런 저런 글을 보면 소스코드 편집기로 열어서 nil key 라고 된걸 지워라 Tab Bar Item 관련된걸 지우라는둥 여러가지 이야기가 있었지만 모두 동작하지 않았습니다. 그리고 제 상황에서는 모든 xib, 스토리 파일이 열리지 않았기 때문의 위의 해결 방법들은 해당하지 않았을것 같았죠.

해결 방법은 간단합니다.

Xcode 에서 CMD + Shift + O 키를 눌러서 스토리보드 파일이나 인터페이스 빌더 파일을 열면 Xcode가 종료되지 않고 정상적으로 실행됩니다 =_=/ 한번 열리고 나면 다른 모든 스토리보드나 인터페이스 빌더 파일을 열어도 오류없이 잘 열립니다. 네비게이터에서 스토리보드를 여는거에 문제가 있나봅니다.

삽질이란 다 이런식으로 끝나는거죠 뭐

참고정보

원본 게시글의 아마존, iTunes 링크들을 통해 구매를 하시면 제휴(Affiliate) 프로그램에 의해 저에게 일정 금액이 적립될 수 있습니다. ^_____^