[iPhone Dev] 추가한 class를 Interface Builder가 인식하게 만들기

1 Comment

IB를 정말 어쩔 수 없는 경우에만 사용하긴 하지만 아무튼 아래와 같이 것도

Unknown class in Interface Builder file.

To fix the issue, you need to set the -ObjC linker flag. In Xcode go to Project -> Edit Project Settings, find the “Other Linker Flags” entry and add the following (capitalization important) “-ObjC” without the quotes. This should do it.

Ref: http://support.mobclix.com/forums/65895/entries/95353

XCode의 nib 파일과 xib 파일의 차이

No Comments

Interface Builder의 파일을 저장할 때 포맷이 nib와 xib 두가지가 있습니다.

XCode 3.0부터 xib 파일이 도입되었는데, 기존 nib 파일과의 차이점이 궁금해서 좀 찾아봤습니다.

xibnib

두 파일의 차이는 아래와 같이 Xib는 xml 기반인고 Nib는 archive라고 되어있는데,

사실은 Nib는 실제 폴더이고 그 폴더 안에 xml로된 데이터와 archive가 같이 있습니다.

그리고 Build 시 Xib가 Nib로 변환됩니다.

Xib Files

Xib files are text-based XML and have a “.xib” extension. Xcode and Interface Builder 3.0 use this format by default.

Nib Files

Nib files are archives and have a “.nib” extension. Nib files are loaded by your application.

그럼 왜 Xib를 쓸까요?

좀 더 찾아 보니, SCM을 위해서라고 합니다.

Nib는 archive가 있어서 svn, Clear Case등의 scm 도구로 보면 일부 변경 사항은 안 보이겠죠?

그래서 Xib를 scm 시에도 변경이 보이니 사용한다고 합니다. ㅋ~

Ref1: Xib vs. Nib http://www.cocoarocket.com/articles/xibnib.html

Ref2:  Re: Difference between NIB and XIB http://lists.apple.com/archives/xcode-users/2007/Nov/msg00875.html