출처 : 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 파일을 사용하시면 고난의 길을 가시는 겁니다.
이상 허접한 나제왕의 좌충우당탕탕ㅌ아 ㅠ.ㅠ
스테틱 라이브러리 만들어보기 였습니다.
'프로그래밍 > iOS' 카테고리의 다른 글
Xcode 프로젝트 템플릿을 이용해 iOS 프로젝트 시작점 제어 (0) | 2012.06.21 |
---|---|
Xcode Code Snippet Library를 통해 코드 문서화 쉽게 하기! (0) | 2012.06.21 |
AlertView Login만들기 (0) | 2012.06.15 |
아이폰 앱 76개 소스코드, 강좌, 개발 팁 링크모음 (0) | 2012.06.06 |
FaceBook Graph Api 설명 (0) | 2012.06.02 |