iOS framework(프레임워크) 생성 및 사용 방법
※ 해당 글에서는 objective-c로 설명하지만 swift도 거의 동일합니다.
※ 내용이 길어 두 개의 포스팅으로 나눴습니다. 해당 글에서는 framework 생성 방법과 framework 생성 시 참고 사항을 설명합니다.
다음 포스팅 : https://es1015.tistory.com/434
목차
- framework 생성 방법
1. debug framework 생성 방법
2. release framework 생성 방법
- framework 생성 시 참고 사항
- framework 사용 방법
1. framework 파일을 추가하는 방법 - framework 파일 필요
2. framework 프로젝트를 추가하는 방법 - framework 프로젝트 필요
3. 클래스 및 메서드 호출 방법
framework 생성 방법
1. Framework 프로젝트 생성
Xcode > File > New > Proejct > iOS > Framework > Next 선택
2. Product Name 입력 및 언어 등 설정 후 Next 선택
ex) TestFramework
※ Apple에서는 프레임워크명에 "Framework" 문구가 들어가는 것을 권장하지 않습니다.
3. Framework 프로젝트 생성 완료
기본으로 Product Name과 동일한 이름의 헤더 파일이 생성됨
프로젝트 > TARGETS > General > 지원할 OS 및 버전 등 설정
4. 클래스 생성 및 메서드 등 입력
ex) Test.h, Test.m
5. 클래스 작성 완료 후, Headers 설정
프로젝트 > TARGETS > Build Phases > Headers 이동
새로운 헤더 파일이 추가되면 Project 부분에 추가되며, 노출이 필요한 파일은 Public으로 이동
Public에 있는 헤더 파일만 외부에서 접근 가능
ex) Test.h
6. 프로젝트 생성 시 생성된 헤더 파일에 Public 헤더 파일 import
5번에서 Public으로 이동한 헤더 파일들을 아래와 같이 추가
#import <프레임워크명/헤더 파일명>
ex) #import <TestFramework/Test.h>
7. framework 모드 설정
framework 파일은 debug용과 release용으로 생성이 가능
상단 Scheme 영역 클릭 후 Edit Scheme... 선택
7-1. debug 모드 설정
Run > Info > Build Configuration > Debug 설정 후 Close
7-2. release 모드 설정
Run > Info > Build Configuration > Release 설정 후 Close
8. framework 파일 생성
Run 선택 > Build Succeeded 확인 > Products 폴더에 생성된 framework 파일 확인
- framework 파일이 정상적으로 생성됐거나, 존재하는 경우는 아래와 같이 검정 텍스트로 표시됨
- framework 파일이 존재하지 않는 경우는 빨강 텍스트로 표시됨
※ clean 하는 경우, 생성된 framework 파일이 모두 삭제되어 빨강 텍스트로 표시됨
9. 생성된 framework 파일 위치
Products > framework 파일 우클릭 > Show in Finder 선택 > 생성된 framework 파일 폴더로 이동됨
- Debug용인 경우 Debug-iphoneos 폴더에 파일에 생성됨
- Release용인 경우 Release-iphoneos 폴더에 파일이 생성됨
framework 생성 시 참고 사항
framework 생성 시 디바이스 선택 부분에서
실제 디바이스 또는 Any iOS Device (arm64, armv7)을 선택 후 생성하면 실제 디바이스에서 사용 가능한 버전으로 "모드-iphoneos" 폴더에 framework가 생성되며
시뮬레이터를 선택 후 생성하면 시뮬레이터에서 사용 가능한 버전으로 "모드-iphonesimulator" 폴더에 framework가 생성됨
'iOS > Swift + Objective-c' 카테고리의 다른 글
[iOS] TextField, TextView 키보드에 가려지는 현상 해결, 포커스 이동 (IQKeyboardManager) (0) | 2021.10.21 |
---|---|
[iOS] framework 생성 및 사용 방법 (2 - 사용 방법) (0) | 2021.10.20 |
[Objective-c] NSDictionary 에서 Integer 조회 (0) | 2021.10.07 |
[iOS] 디바이스 내 앱 데이터 확인 (AppData, Documents) (1) | 2021.10.05 |
[iOS] ipa 파일로 프로비저닝 프로파일 확인하기 (0) | 2021.09.16 |