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탭 선택 후 아래 내용들 수정

(설정시 debugrelease모두 만들기 위해서는  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. DebugRelease를 선택후 빌드하면

현재 프로젝트 폴더안에 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>

반응형