은행에 납품한 인식기에서 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를 통해 위치를 접근
파일을 잘 가지고 있는다.
framework 안에 폴더들이 존재해서 폴더 처럼 보이는데 파일이다.
2. framework를 사용하는 프로젝트
대충 싱글뷰 프로젝트 하나 생성하여 framework를 프로젝트에 추가한다.
그럼 사진과 같이 추가가 되는데 작업하기 전에 한가지 작업할 것이 더 있다.
프로젝트 설정 - General에 가면 Linked Frameworks and Libraries에 framework 파일이 추가되어 있는데
이를 선택한 후 -버튼을 이용하여 지워 준 후
위 쪽에 Embedded Binaries의 +버튼을 이용하여 framework를 다시 추가해준다.
추가하면 위 아래에 둘 다 제대로 추가가 된다.
그럼 이제 framework를 사용하고자 하는 뷰 컨트럴러에 와서
#import <framework이름/framework이름.h>
위와 같이 선언한 후
원래 만들었던 클래스인 Test를 alloc, init을 통해 생성, 초기화 한 후
우리가 만들었던 printLog라는 함수를 호출해 보자.
잘 된다.
'프로그래밍 > iOS' 카테고리의 다른 글
[ios] 베타(beta)버전 올리기 (0) | 2015.07.09 |
---|---|
[ios] NSTimer 일정 시간 후에 함수 실행하기 (0) | 2015.07.03 |
[iOS] 현재 기기가 아이패드2인지 확인하는 코드 (0) | 2015.06.19 |
[iOS] 디바이스 회전정보 받아오기 (0) | 2015.06.17 |
[JavaScript] json 디코딩하기, json파싱 (0) | 2015.06.04 |