1. Framework 만들기
1.
New Project -> Library -> Cocoa Touch Static
Library 생성
<그림1>
2.
Targets에있는 기본 Bundle 제거
<그림2>
3.
Targets -> Add -> New Target.. -> Cocoa
-> Loadable Bundle생성
<그림3>
<그림4>
4.
Target
Info창에서 Build탭 선택 후 아래 내용들 수정
(설정시 debug와 release모두 만들기 위해서는 configuration부분을 All Configurations로 바꿔주고 아래 항목들을 수정)
<그림5>
1)
Wrapper Extension 항목 -> framework
2)
Mach-O Type 항목 -> Relocatable
Object File
3)
Dead Code Stripping -> 체크해제
4)
Link With Standard Libraried -> 체크해제
5)
Other Linker Flags -> 내용 전부 제거
6)
GCC_PREFIX_HEADER -> 내용 전부 제거
7)
Insight의 경우 Header Search
Paths -> /usr/include/libxml2 추가
5.
Target Info창에서 Properties탭에서 화면 아래 “open Ingo.plist as File” 버튼 클릭후
Bundle OS Type code 내용을 FMWK로 수정후 저장
<그림6>
6.
Targets안에 있는 Insight(Bundle) 우클릭-> Add -> New Build Phase –--
---> New Copy Headers Builds Phase 생성
<그림7>
7.
Insight.framework에 추가시킬 구현 파일들을 Groups & Files -> Classes 안으로 드래그 (copy items into… 체크해서 파일을 복사. 체크를 안하면 참조로 됨)
(구현 파일들이 이미 생성되있지 않을때는 직접 Add
New로 만들어서 구현하는것도 가능)
<그림 8-1>
<그림 8-2>
8.
위와 같은 방법으로 Groups & Files 에 Other Sources부분에 이미지나 사운드등 필요한 Resource들을 추가
(Framework을 만들때는 다른 Framework을 추가할 필요 없음)
9.
파일을 추가시키고나면
Targets -> Insight -> Copy Bundle Resources
(Resource들)
Targets -> Insight -> Compile Sources (.m과 같은 구현파일들)
Targets -> Insight -> Copy Headers (.h와 같은 헤더파일들)
위의 부분에 자동으로 사용자가 추가한 항목들이 추가됨.
<그림9>
10. Targets -> Insight
-> Copy Headers 우클릭 -> Set Role -> Public 클릭
(이 설정을 하지 않으면 framework에서 헤더파일이 보이지 않)
<그림10>
11. Debug나 Release를 선택후 빌드하면
현재 프로젝트 폴더안에 Build
-> Debug-iphonesimulator -> Insight.framework 폴더 또는 Build
-> Release-iphonesimulator -> Insight.framework 폴더 자체가 프레임 워크.
2. 프로젝트에서의 사용방법.
1.
생성한 framework를 작업중인 project폴더에 추가.
Ex) Framework 이라는 폴더를 생성후 생성한 Insight.framework폴더를 붙여넣기.
2.
Insight.framework폴더를 프로젝트의 Frameworks폴더로 드래그
<그림11>
<그림 11-1>
위와 같이 Frameworks
폴더에 넣으면 Targets->NPMK->LinkBinary With Libraries에 자동으로 추가되고 Targets
Info에서 Framework경로를 직접 잡아줌.
(여러개의 framework(debug, release,
simulator, device용) 추가시 Target Info
-> Framework Search Paths 의 값을 "$(SRCROOT)"로 수정)
<그림12>