2012. 1. 5. 11:47
IPhone
XCode 3에서의 static library 사용법은 많이 찾아볼 수 있으나 XCode 4에서 UI가 상당히 많이 바뀌어서 이를 정리해 보고자 한다.
1. 우선 라이브러리 프로젝트부터 만들도록 하자
프로젝트명은 PublicLibrary 라고하고 아래그림처럼 만들어 보자
cocoa Touch Static Library로 선택하고나서 프로젝트명을 PublicLibrary로 하면 아래와 같이 프로젝트가 생성된 것을 볼 수 있다.
이제 새로운 클래스를 추가하도록 해보자. 아래와 같이 Objective-C class 로 만들고 UIView클래스를 상속받은 PublicView 클래스를 추가해 보도록 한다.
그리고 나면 아래와 같은 화면을 볼 수 있다.
그리고 initWithFrame 의 소스에 아래와 같은 코드를 만들어서 생성한 라이브러리가 나중에 정상동작하는지 디버깅 목적으로 넣어보도록 하자.
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
NSLog(@"This library is generated by david");
}
return self;
}
이제는 PublicView.h 헤더파일을 지정해 놓고 아래의 오른쪽처럼 Target Membership 속성을 public으로 바꾸도록 한다.
이제 라이브러리 준비는 끝났다. 이제 프로젝트를 닫고 PublicLibrary를 사용할 어플리케이션을 만들도록 한다.
아래처럼 window based 프로젝트를 만들도록 한다.
본 어플리케이션의 생성 디렉토리도 아래와 같이 하도록 한다.
이제 아까 생성했던 PublicLibrary 프로젝트를 응용어플리케이션 프로젝트에 추가하도록 한다.
이제 아래 그림처럼 프로젝트 구성이 되었을 것이다.
이제 아래그림에서 Target Dependencies와 Link Binary With Libraries에 각각 이전에 만들었던 PublicLibrary를 추가하도록 한다.
그럼 아래 그림과 같이 될 것이다.
이제 Build Settings 메뉴로 가서 전에 만든 Library의 헤더파일을 import할 수 있도록 디렉토리를 지정하도록 한다.
아까의 디렉토리 구조라면 ../ 를 추가하면 PublicView.h 헤더파일을 참조할 수 있다.
아래의 디렉토리 구조를 살펴라
이제 아까 만들었던 PublicView 클래스를 호출해 보도록 하자.
팁으로 하나 더.......
터미널 창에서 좀전에 만들었던 라이브러리가 정상적으로 만들어졌는지 확인해 보도록 하자
일단 전에 만들었던 라이브러리의 디렉토리가 어딘지 확인해 보기 위해 지금의 프로젝트를 닫고 PublicLibrary 프로젝트를 열도록 하자 거기에서 libPublicLibrary.a 파일의 위치가 어딘지 아래처럼 확인하여 터미널창에서 그 해당 디렉토리로 이동한다.
거기에서 아래의 명령으로 라이브러리의 정상여부를 확인해 보도록 한다.
> nm libPublicLibrary.a
참조 : http://codecrue.egloos.com/1943347