본문 바로가기
프로그래밍/iOS

xcode static library 만들기(스테틱라이브러리만들기)

by 백룡화검 2012. 6. 21.

출처 : http://blog.naver.com/kimminin/20123593848


기본적으로 잘 돌아가는 프로젝트 -> 거기 포함된 .m 파일을 다른 사람들이 보지 못하게 정적라이브러리로 만드는 과정입니다.


Target -> add -> New Target



static library 선택



자신에게 맞는 이름 설정~(이름을 알아서들)


(라이브러리)

프로젝트에서 라이브러리화 할 xxx.m파일을 드레그 해서 아래에 넣어준다.(아직 프로젝트에는 xxx.m 파일이 남아있습니다.)


(어플)

타겟에 보면 프로젝트이름 아래에 Compile sources가 있습니다.

여기속에 아까 위에서 xxx.m 파일을 찾아서 삭제합니다.


즉 지금까지 한 내용은 프로젝트에 있는 xxx.m파일을 어플을 만들때 컴파일 하는게 아니고 라이브러리를 만들때 사용해 달라~ 그런말입니다.


이제 어플을 빌드할때 라이브러리를 참고해 달라고 알려줘야 합니다.

그런데 여기서

-만들어 놓은 라이브러리를 가져와서 사용하게 할 수도 있고, 

-위와 같이 우리가 이제 막 만들 라이브러리를  사용하게 할 수도 있습니다.


둘다 설명하면 좋겠지만

라이브러리를 만들어서, 만들어 놓은 라이브러리를 가져와서 사용하는 방법을 설명하겠습니다.


->

프로젝트 폴더 속 build를 싹 비웁니다(구분하기 편하게 하기 위함이에요 별 다른 목적은 없음 ;;;)



이제 라이브러리 파일을 빌드할껀데 맥에서 

1.시뮬로 돌릴때 라이브러리, 

2.패드나 아이폰에서 사용하는 라이브러리

이렇게 따로 만들어서 사용해야 하더라구요. 아무래도 틀린 기기라서 그런가??? 아시는 분 설명좀 ㅎㅎ;


시뮬로 돌릴때 사용하려면 위에 사항에 시뮬레이터를 체크하고

디바이스에서 돌릴때 사용하려면 위에 사항에 디바이스를 체크해야 합니다.



Targets->만들고자 하는 스테틱 라이브러리 우클릭후 build "원하는 라이브러리"를 클릭합니다.

그럼 막 xcode가 라이브러리를 만들어 낸다고 막 돌아갑니다.




저기 제일 우측에 있는 .a 파일이 라이브러리 입니다.


,

이제

라이브러리를 넣을 폴더하나

라이브러리를 사용하는 헤더파일을 넣어두는 폴더하나

를 만들어야 합니다.

(참고로 헤더파일이 있고 거기에 따른 .m파일이 있기 마련인데

.m파일은 라이브러리모 만들어져서 .a가 된 것이고,

.h파일은 복사해서 위에서 만들 폴더중에 헤더파일을 넣는 폴더에 넣어줍니다.)

이제 라이브러리 폴더에는 .a를 복사해 넣고,

헤더폴더에는 .h를 복사해서 넣습니다.

(왜 .a 가 두개냐?! 위에 붉은색으로 적어 놨습니다 ㅠ.ㅠ)


이걸 요리에 비유한다면 재료는 다 준비해서 서랍에 넣어 놨으니

요리사 보고 서랍에 어떤 재료가 있으니 가져가서 쓰라고 해야겠죠?


위와 같이 타겟에 어플(요리사) Get Info로 들어갑니다.



아래 Linked Libraries 에  +를 눌러서 우리가 만든 .a파일을 추가해 봅시다.



에서 add Other에 들어가 우리가 만든 .a파일 선택하면 위위그림의 Linked Libraries 에 우리가 만든 .a파일이

추가된걸 확인할 수 있습니다.



이제 재료를 사용하라고는 했고, 재료가 들어있는 서랍이 어딨는지 요리사에게 설명해줄 차례입니다.

위위그림에서 Build탭에서 

Header Search Paths

Library Search Paths

에 우리가 헤더파일과 라이브러리 파일을 넣어둔 폴더의 경로를 각각 지정해 줍니다.

(파인더에서 폴더를 긁어서 놓으면 경로가 지정되는건 아시죠?

모르신다면 위에 파란부분을 더블클릭 -> 무언가 열림 -> 파인터에서 적절한 폴더를 선택 드래그 엔 드롭 -> 무언가 열린곳으로 가져가 놓는다)


이제 모든 설정이 끝났습니다. 이제 맘껏 돌려보시면 됩니다.

참고로 

Linked Libraries 에 시뮬레이션용 .a 디바이스용 .a파일을 적절히 잘 설정했는가 확인부탁드려요

디바이스에 사용할거면서 시뮬용 .a 파일을 사용하시면 고난의 길을 가시는 겁니다.



이상 허접한 나제왕의 좌충우당탕탕ㅌ아 ㅠ.ㅠ

스테틱 라이브러리 만들어보기 였습니다.