Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- rxswift
- Apple
- Swift
- FLUTTER
- JPA
- darkmode
- 웹뷰
- view
- mac
- appstore
- 한글
- Git
- Xcode
- IOS
- Notification
- 개발자
- Code
- github
- window
- Realm
- Archive
- SwiftUI
- iOS16
- UIButton
- geofencing
- Session
- Firebase
- MacOS
- error
- stack
Archives
- Today
- Total
EEYatHo 앱 깎는 이야기
Swift ) Swift에서의 라이브러리(정적, 공유, 동적)와 프레임워크 - EEYatHo iOS 본문
iOS, Swift/Swift Theory
Swift ) Swift에서의 라이브러리(정적, 공유, 동적)와 프레임워크 - EEYatHo iOS
EEYatHo 2021. 2. 16. 21:44반응형
라이브러리
- iOS에서의 라이브러리 : 프로그램이 연결할 수 있는 패키징된 객체 파일들의 모음
- 정적(Static) 라이브러리와
공유(Share) 라이브러리가 있음. ( = 동적 라이브러리 )
- 정적 라이브러리
- 라이브러리가 주된(main) 실행파일의 코드에 패킹되어 있음.
- 빌드 시스템이 가장 단순.
- 실행 프로그램에 코드가 물리적으로 복사되어 올라감. - 공유(동적) 라이브러리
- 링커에 라이브러리의 참조만 저장.
- 프로그램이 실행중에 공유 라이브러리가 필요한 순간에 메모리에 로드.
- 심볼과 참조를 결정짓고 해당 라이브러리를 사용.
- macOS에서 공유 라이브러리의 확장자는 .dylib
- 정적 라이브러리
프레임워크
- 라이브러리는 단순히 실행가능한 코드이지만,
프레임워크는 공유라이브러리 + 헤더 + 각종 리소스를 포함하는 번들 (or 디렉토리 ). - 프레임워크에 포함되어야 할 것.
- 프레임워크를 설명하는 문서 (어떤 용도이며 왜 쓰는지 등)
- API 명세 (개발자가 프레임워크를 사용하면서 접근 가능한 API들에 대한 명세)
- 공유하는 라이브러리 (캡슐화된 소스코드)
- 추가적인 리소스들 (Views, Controls, Custom Appearance/UI, Assets, Configuration Files)
ex ) MyCustomFramework의 구조. 확장자는 .framework
Sub Framework 1
Sub Framework 2
Version 1.0
- Library
- Header
- Resource
Version 1.1(Current Version - Symbolic Link)
- Library
- Header
- Resources
- 프레임워크와 라이브러리의 차이
본질적으로 라이브러리는 호출 가능한 클래스의 집합체이며,
일반적으로 개발자는 프레임워크의 인터페이스(API, Control 등)을 통해 라이브러리를 호출.
프레임워크는 여러 라이브러리와 프레임워크를 래핑 가능.
'iOS, Swift > Swift Theory' 카테고리의 다른 글
Swift) ColorSpace, display P3, sRGB - EEYatHo iOS (0) | 2022.01.25 |
---|---|
Swift ) Protocol ( 프로토콜 ) - EEYatHo iOS (0) | 2021.07.22 |
Swift ) Closure(클로저) 축약 문법 - EEYatHo iOS (0) | 2021.07.21 |
Swift ) Layout, Constraint, AutoLayout 변천사 (2) - EEYatHo iOS (0) | 2021.02.25 |
Swift ) Layout, Constraint, AutoLayout 변천사 - EEYatHo iOS (0) | 2021.02.25 |
Comments