iOS SDK 시작하기
Requirements
Minimum requirements for SleepTrack SDK on iOS
- Xcode 14.1 혹은 더 높은 버전
- iOS 15.0 혹은 더 높은 버전
- Swift 5.0 혹은 더 높은 버전
API Key
SleepTrack SDK를 사용하기 위해서는 API key가 필요합니다.
API key를 발급하는 방법에 대해서는 이 링크 API key 생성하기를 참고하세요.
Getting Ready
SleepTrack SDK for iOS는 Xcode에 내장된 Swift Package Manager을 통해 배포됩니다.
Install SleepTrack SDK
- Xcode에서 File > Add Packages를 선택합니다.

- 다이얼로그 창에 repository url을 입력합니다 https://github.com/asleep-ai/asleep-sdk-ios.

- 버전에서, Up to Next Major Version 및 기본 옵션을 선택합니다.

Add Package를 클릭합니다.

Add Package를 한번 더 클릭합니다.

- Xcode에서, Targets 애플리케이션을 선택한 후
Signing & Capabilities를 클릭합니다.

+ Capability를 클릭하고Background Modes를 더블클릭합니다.

Audio, AirPlay, and Picture in Picture를 선택합니다.

- Xcode에서, 본인의 Targets 애플리케이션
Info를 클릭합니다.

+를 클릭하고Privacy - Microphone Usage Description를 선택합니다.

- 마이크 권한 요청 메시지를 작성합니다.

Import the SleepTrack SDK
import AsleepSDK
Sleep Tracking with SleepTrack SDK
Initialize the SleepTrack SDK
-
SDK를 초기화 합니다
- userId가 nil이면 새로운 userId가 생성됩니다.
- baseUrl에는 프록시 서버를 입력하세요. nil이면 default base url이 사용됩니다.
- callbackUrl은 분석 결과를 직접 받는 서버를 입력하세요. nil이면 콜백이 없습니다.
- service는 개발할 앱의 닉네임이 있다면 입력하세요.
let apiKey: String = "YOUR_API_KEY" let userId: String? let baseUrl: URL? let callbackUrl: URL? let service: String? let delegate: AsleepConfigDelegate = self Asleep.initAsleepConfig(apiKey: apiKey, userId: userId, baseUrl: baseUrl, callbackUrl: callbackUrl, service: service, delegate: self) -
config과 user ID를 받아옵니다
extension YourClass: AsleepConfigDelegate { func userDidJoin(userId: String, config: Asleep.Config) { self.userId = userId self.config = config } func didFailUserJoin(error: Asleep.AsleepError) { print(error) } func userDidDelete(userId: String) { print("\(userId) is deleted") } }
join을 하기 위해서userId를 permanent storage에 저장해야합니다.
Create SleepTrackingManager
var config: Asleep.Config?
let delegate: AsleepSleepTrackingManagerDelegate = self
var manager: Asleep.SleepTrackingManager?
if let config {
manager = Asleep.createSleepTrackingManager(config: config,
delegate: self)
}
userDidJoin에서 발급 받은Asleep.Config을 이용해야합니다.
Start Tracking
var manager: Asleep.SleepTrackingManager?
manager?.startTracking()
startTracking()을 실행하려면 SDK는 마이크 권한이 필요합니다.
Stop Tracking
var manager: Asleep.SleepTrackingManager?
manager?.stopTracking()- 수면 리포트의 session ID를 불러옵니다
extension YourClass: AsleepSleepTrackingManagerDelegate { func didClose(sessionId: String) { self.sessionId = sessionId } }
Create Reports
var config: Asleep.Config?
var reports: Asleep.Reports?
if let config {
reports = Asleep.createReports(config: config)
}
userDidJoin에서 발급 받은Asleep.Config을 이용해야합니다.
Get Report
var reports: Asleep.Reports?
var sessionId: String?
if let reports, let sessionId {
// Closure
reports.report(sessionId: sessionId) {
if let error = $1 {
print(error)
return
}
if let report = $0 {
}
}
// Async
Task {
do {
let report: Asleep.Model.Report = try await reports.report(sessionId: sessionId)
} catch {
print(error)
}
}
}
Sample App을 직접 실행해보면서 SDK를 빠르게 익히고, 실제 프로젝트에 적용해보세요.https://github.com/asleep-ai/asleep-sdk-ios-sampleapp-public
Updated 10 months ago
Did this page help you?
