App을 개발할 때는 해당 App의 목적과 특징에 따라 작업 규칙이 달라지는데, 이러한 작업 규칙을 프레임워크(Framework)라 부릅니다.
iOS의 프레임워크(Framework)는 4계층으로 나뉘어 있습니다.
App과 가까운 계층(상위 계층)일수록 App/사용자 구현 기능 및 처리 방법 등이 담겨있습니다.
반대로 H/W(하드웨어)와 가까운 계층(하위 계층)일수록 H/W(하드웨어)/운영체제 구현 기능 및 처리 방법 등이 담겨있습니다.
Cocoa Touch Framework는 최상위 계층의 프레임워크이며, App 개발에 있어 기초적인/필수적인 기능 등을 제공해주는 프레임워크입니다.
⚙️ Cocoa Touch Framework의 종류
- ⭐️UIKit : 사용자에 의해 발생하는 이벤트, UI(화면)와 관련된 작업등을 처리할 때 사용합니다.
(참고: UIkit 프레임워크 안에는 Foundation 프레임워크가 내포되어 있으므로 UIkit 프레임워크만 선언하면 Foundation 프레임워크의 기능을 사용할 수 있습니다.)
- AddressBookUI: 주소록 관련 처리
- EventKitUI: 달력과 일정 관련 처리
- GameKit: 게임 관련 처리
- MapKit: 위치, 지도 관련 처리
- NotificationCenter: 노티피케이션 관련 처리
...
Media Framework는 미디어/그래픽 (이미지, 영상) 관련 기능 등을 제공해주는 프레임워크입니다.
⚙️ Media Framework의 종류
- Photos: 사진 관련 처리
- CoreGraphics: 2D 화면 그리기 관련 처리
- AssetsLibrary: 앨범 관련 처리
- AVFoundation: 영상 관련 처리
...
Core Services Framework는 각종 시스템 설정 및 데이터 접근 서비스 등을 제공해주는 프레임워크입니다.
(문자열 처리, 데이터 접근, 네트워크, 주소록 관리, 환경 설정 등의 기능을 제공)
⚙️ Core Services Framework의 종류
- ⭐️Foundation: 문자열, 날짜 처리, 런루프, GCD, 쓰레드, URL 작업등을 처리할 때 사용합니다.
(참고: Objective - C 언어와 관련된 기능 또는 NS가 붙은 타입을 사용할 때는 Foundation 프레임워크를 선언해야 합니다.)
- Webkit: HTML 관련 처리
- CloudKit: iCloud 연동 처리
- CoreLocation: 위치, 방향 정보 처리
- StoreKit: In-App Purchase구현
...
Core O/S Framework는 최하위 계층의 프레임워크이며, 보안 서비스 및 하드웨어 기기와의 연동 서비스 등을 제공해주는 프레임워크입니다.
⚙️ Core O/S Framework의 종류
- CoreBluetooth: 블루투스 연결 관련 처리
- LocalAuthentication: TouchID, 사용자 인증 관련 처리
- Security: 키체인 및 인증서 관련 보안 처리
...