Core Services 계층
Core Services 계층(Core Services layer)은 macOS의 기본적인 기능을 제공하는 프레임워크입니다. 이 계층은 시스템에서 사용되는 여러 기능들을 제공하며, Cocoa와 같은 더 높은 수준의 프레임워크에서 이용됩니다. Core Services 계층에는 파일 시스템, 네트워크, 보안, 데이터베이스, 프로세스 관리 등과 같은 기능이 포함되어 있습니다. 이러한 기능들은 macOS의 다양한 애플리케이션에서 이용되며, 운영체제 자체에서도 활용됩니다.
분명 Core OS 계층에서도 파일시스템, 네트워크, 보안 기능이 있었는데...
Core OS는 "Core Operating System"의 약어로, 운영 체제의 핵심 기능을 담당하는 계층을 말합니다. 이 계층은 운영 체제의 핵심 기능을 제공하며, 하드웨어와의 상호 작용, 프로세스 관리, 파일 시스템 관리 등과 같은 기능을 제공합니다.
Core Services는 "Core Services"라는 용어로, 주로 애플리케이션에서 사용되는 기술을 제공하는 계층을 말합니다. 이 계층은 애플리케이션에서 자주 사용되는 기술을 제공하며, 데이터베이스, 네트워크, 보안 등과 같은 분야에서 사용됩니다.
Core Services의 데이터베이스를 사용하는 예제로는 macOS의 주소록(Contacts) 애플리케이션이 있습니다. 이 애플리케이션은 사용자의 연락처 정보를 저장하는 데이터베이스를 Core Services 프레임워크에서 제공하는 AddressBook 프레임워크를 사용하여 관리합니다.
다른 예제로는 macOS의 메시지 애플리케이션이 있습니다. 이 애플리케이션은 사용자의 메시지와 관련된 데이터를 저장하는 데이터베이스를 Core Services에서 제공하는 SQLite 데이터베이스를 사용하여 관리합니다. 이 데이터베이스는 대부분의 macOS 애플리케이션에서 사용되는 표준 데이터베이스 형식 중 하나입니다.
CoreBluetooth예제
근처의 블루투스 기기를 찾는 코드
import UIKit
import CoreBluetooth
class ViewController: UIViewController, CBCentralManagerDelegate {
var centralManager: CBCentralManager!
override func viewDidLoad() {
super.viewDidLoad()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .poweredOn:
centralManager.scanForPeripherals(withServices: nil)
default:
print("Bluetooth is not available.")
}
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print("Discovered \(peripheral.name ?? "Unknown") at \(RSSI)")
}
}
꼭 info.plist 에 동의허가를 받아주셔야합니다.
실행하게 되면
이렇게 동의를 받게 되고,
짜잔!!!! 주변 기기를 찾을 수 있습니다.
연결을 끊으면 다음과 같이 나옵니다. 신기해요. 신기합니다.
'iOS' 카테고리의 다른 글
iOS 계층구조-4 (0) | 2023.04.15 |
---|---|
iOS 계층구조-3 (0) | 2023.04.15 |
iOS 계층구조-1 (0) | 2023.04.15 |
2023 WWDC Student Challenge 도전. (0) | 2023.04.14 |
시리얼(Serial) 큐, 컨커런트(Concurrent) 큐 (0) | 2023.04.13 |