본문 바로가기

프로그래밍/iOS

[iOS] framework만들기

은행에 납품한 인식기에서 OZviewer쪽이랑 코덱관련 충돌이 있었다.



우리껀 잘 되는데 oz에서 충돌나는걸 우리보고 고치라해서 고치긴 했는데 좀 씁쓸하넹


여튼 staticLibrary기 때문에 일어난 현상이라 dynamic Library를 찾던 중 framework로 작업하면 괜찮다길래 이걸로 작업 시작



1. framework 프로젝트


XCode6에서 뉴 프로젝트를 선택하면 나오는 창에서 

iOS->Framework & Library를 선택하여 Cocoa Touch Framework를 선택


이름은 대충 frameworkTest로 설정


프로젝트 설정 - Build Settings에서 검색으로 installation이라고 쓰면

installation Directory가 뜬다.

이 설정값을 @loader_path/Frameworks 로 변경


실제 framework에서 사용할 클래스를 만들기 위해 Cocoa Touch Class 선택


Test라고 클래스 하나를 생성


framework로 사용하기 위해 Test.h의 설정을 Public으로 변경



대충 로그 찍을 함수로 printLog함수 생성

걍 "프린트"란 글씨만 찍게 설정

framework 헤더파일에 #import <framwork명/헤더파일>

과 같은 식으로 선언

디바이스로 빌드하면 서류가방 모양으로 framework가 생성된다.

우클릭으로 Show in Finder를 통해 위치를 접근


파일을 잘 가지고 있는다. 

framewor에 폴더들이 존재해서 폴더 처럼 보이는데 파일이다.

2. framework를 사용하는 프로젝트


대충 싱글뷰 프로젝트 하나 생성하여 framework를 프로젝트에 추가한다.



그럼 사진과 같이 추가가 되는데 작업하기 전에 한가지 작업할 것이 더 있다.



프로젝트 설정 - General에 가면 Linked Frameworks and Libraries에 framework 파일이 추가되어 있는데

이를 선택한 후 -버튼을 이용하여 지워 준 

위 쪽에 Embedded Binaries의 +버튼을 이용하여 framework를 다시 추가해준다.


추가하면 위 아래에 둘 다 제대로 추가가 된다.


그럼 이제 framework를 사용하고자 하는 뷰 컨트럴러에 와서

#import <framework이름/framework이름.h> 

위와 같이 선언한 후

원래 만들었던 클래스인 Test를 alloc, init을 통해 생성, 초기화 한 후

우리가 만들었던 printLog라는 함수를 호출해 보자.


잘 된다.