Docs Menu

Swift용 Atlas Device SDK

Swift용 Atlas Device SDK를 사용하여 Swift 및 오브젝티브-C로 iOS, macOS, watchOS 및 tvOS 앱을 개발할 수 있습니다.

학습 경로
기능 아이콘

빠른 시작

Swift SDK로 작업하는 방법에 대한 최소한의 설명이 포함된 코드 예시입니다.기기 데이터베이스에 쓰고 다른 기기와 동기화합니다.

코드 예시 보기

Realm Mobile 아이콘

작동 예시 앱

예시를 통해 Swift SDK를 사용해 실제 작동하는 SwiftUI 클라이언트 앱을 분석하여 알아보세요.

예시 앱 살펴보기

튜토리얼 아이콘

가이드 튜토리얼

안내된 튜토리얼을 따라 예시 앱을 조정하여 실제로 작동하는 나만의 앱을 만드는 방법을 알아보세요.

튜토리얼 따라하기

가능한 작업들

SDK의 오픈 소스 데이터베이스인 Realm을 기기의 객체 저장소로 사용합니다.Device Sync를 사용하여 MongoDB Atlas 클러스터 및 다른 클라이언트와 데이터를 동기화할 수 있습니다.

1

Swift Package Manager, CocoaPods 또는 Carthage를 사용하여 프로젝트에 iOS, macOS, tvOS 및 watchOS용 SDK를 설치합니다.

시작하려면 프로젝트 파일에서 RealmSwift 를 가져옵니다.

2

Swift를 사용하여 객체 스키마를 관용적으로 정의합니다.

3

SDK의 데이터베이스인 Realm은 기기의 파일에 객체를 저장합니다. 또는 파일을 생성하지 않는 메모리 내 데이터베이스를 열 수도 있습니다. 데이터베이스를 구성하고 열어 데이터베이스 파일에 대한 옵션을 지정합니다.

4

기기 데이터베이스에서 객체를 생성, 읽기, 업데이트, 삭제합니다. SDK의 형식 안정 .where 구문을 사용하여 데이터를 필터링하거나 NSPredicate를 구성합니다.

5

라이브 객체는 데이터가 항상 최신 상태임을 의미합니다. 알림 핸들러를 등록하여 변경 사항을 관찰하고 UI 업데이트와 같은 일부 로직을 수행할 수 있습니다. 또는 SwiftUI에서 Swift 속성 래퍼(wrapper)를 사용하여 데이터가 변경될 때 보기를 업데이트합니다.

Atlas Device SDK Mobile 일러스트레이션
1

App Services App에서 Device Sync를 구성합니다. 데이터 액세스 규칙을 정의합니다. 개발 모드를 사용하여 Swift 또는 Objective-C 데이터 모델에서 스키마를 추론합니다.

그런 다음 클라이언트 에서 백엔드 에 연결합니다 .

2

인증 제공자 중 하나를 사용 하여 사용자를 인증합니다. App Services 는 Apple, Google 또는 Facebook 과 같은 널리 사용되는 인증 제공자에 대한 액세스 를 제공합니다. 내장 이메일/비밀번호 제공자 를 사용하여 타사 없이 사용자를 관리 하거나 사용자 지정 JSON web token 인증 을 사용하여 다른 인증 제공자와 통합할 수 있습니다. 익명 인증 은 로그인이나 사용자 데이터 지속 없이 액세스 있는 기능을 제공합니다.

3

동기화된 데이터베이스 를 구성하고 엽니다. 쿼리 를 구독하여 동기화된 데이터베이스 에서 읽고 쓰기 (write) 수 있는 데이터를 확인합니다.

4

데이터를 읽고 쓰기 (write) API는 동기화된 데이터베이스를 사용하든 동기화되지 않은 데이터베이스 를 사용하든 동일합니다. 기기에 읽고 쓰기 (write) 데이터는 Atlas cluster 및 다른 클라이언트와 자동으로 동기화 됩니다. 앱은 오프라인에서 계속 작동하며 네트워크 연결이 가능할 때마다 변경 사항을 결정적으로 동기화 합니다.

Device Sync 그림

Swift SDK는 SwiftUI로 더 쉽게 작업할 수 있도록 설계된 속성 래퍼 및 편의 기능을 제공합니다. 예를 들어 일반적인 SwiftUI 패턴을 보여주는 코드 보기는 SwiftUI 문서를 확인하세요.

SwiftUI 속성 래퍼가 제공하는 Realm/ SwiftUI 통합
struct SearchableDogsView: View {
@ObservedResults(Dog.self) var dogs
@State private var searchFilter = ""
var body: some View {
NavigationView {
// The list shows the dogs in the realm.
List {
ForEach(dogs) { dog in
DogRow(dog: dog)
}
}
.searchable(text: $searchFilter,
collection: $dogs,
keyPath: \.name) {
ForEach(dogs) { dogsFiltered in
Text(dogsFiltered.name).searchCompletion(dogsFiltered.name)
}
}
}
}
}
Atlas Device SDK Mobile 일러스트레이션

App Services 백엔드 에서 실행 되는 클라이언트 애플리케이션 에서 서버리스 함수를 호출 할 수 있습니다.

MongoDB에 저장된 데이터를 클라이언트 애플리케이션 코드에서 직접 쿼리 할 수 있습니다.

내장된 타사 인증 제공자를 사용하여 사용자를 인증합니다. 인증된 사용자를 사용하여 App Services에 액세스합니다.

App Services 일러스트레이션
필수 문서
Realm 아이콘

Swift API 참조

SDK의 Swift API에 대해 생성된 참고 문서를 살펴보세요.

Swift API 참조

Realm 아이콘

오브젝티브-C API 참조

SDK's Objective-C APIs에 대해 생성된 참고 문서를 살펴보세요.

오브젝티브-C API 참조

튜토리얼 아이콘

SwiftUI 퀵 스타트

SwiftUI로 개발을 시작해 보세요.

퀵 스타트 살펴보기

엔지니어링 및 전문가가 제공하는 예시 프로젝트를 살펴보고 Swift SDK를 사용하는 모범 사례와 일반적인 개발 패턴을 알아보세요. 예시 프로젝트 페이지에서 더 많은 샘플 앱을 확인하세요.

비대칭 동기화 아이콘

분석/텔레메트릭스 데이터

센서 판독값을 가져와서 Atlas로 데이터를 푸시하고, 그 결과를 Atlas 차트 또는 time series 컬렉션에 표시합니다.

예시 앱

클라우드 모바일 전송 아이콘

연결 상태 변경 및 오류 처리

동기화 오류 및 클라이언트 재설정 처리에 대한 모범 사례를 알아보세요.

예시 앱

Realm 오프라인 아이콘

오프라인 로그인 및 데이터베이스 액세스

Device Sync 사용자로 로그인하고 오프라인에서 동기화된 데이터베이스를 엽니다.

예시 앱

거래 아이콘

인앱 구매 통합

StoreKit을 사용하여 Device Sync가 활성화된 레시피 라이브러리 앱에 인앱 구매를 추가할 수 있습니다.

예시 앱