Docs Menu

Atlas Device SDK for Swift

Atlas Device SDK for Swift を使用して、Swift と Objective-C で iOS、macOS、watchOS、vOS アプリを開発できます。

ラーニング パス
関数アイコン

クイック スタート

Swift SDK の操作方法を示す最小限の説明コード例。 デバイス データベースに書き込み、他のデバイスと同期します。

コード例 を参照

Realm モバイル アイコン

動作するサンプルアプリ

Swift SDK を使用する動作する SwiftUI クライアント アプリを切断することで、例えから学びます。

サンプルアプリを調べる

チュートリアル アイコン

ガイド付きチュートリアル

ガイド付きチュートリアル に従って、サンプル アプリを調整して独自の動作アプリを作成する方法を学びます。

チュートリアルに従う

実現できること

SDK のオープンソース データベース(Realm)をデバイス上のオブジェクト ストアとして使用します。 Device Sync を使用して、MongoDB Atlas クラスターや他のクライアントとデータを同期します。

1

Swift パッケージ マネージャー、 CocoaPods 、または カーネル を使用して、プロジェクトに iOS、macOS、vOS、watchOS 用の SDK をインストールします。

プロジェクト ファイルに RealmSwiftをインポートして開始します。

2

Swift を使用して、オブジェクト スキーマを慣用的に定義します。

3

SDK のデータベース - Realm - はデバイス上のファイルにオブジェクトを保存します。 または、ファイルを作成しないインメモリ データベースを開くこともできます。 データベースを構成して開き、データベース ファイルのオプションを指定します。

4

デバイスデータベースからオブジェクトを作成読み取り更新削除します。 SDK の型セーフな .where 構文を使用してデータをフィルタリングするか、NSP 述語を構築します。

5

ライブ オブジェクトとは、データが常に最新であることを意味します。 通知ハンドラーを登録して変更を監視し、UI の更新などのロジックを実行できます。 または SwiftUI では、データが変更されたときに Swift プロパティ ラッパーを使用してビューを更新します。

Atlas Device SDK モバイルのイラスト
1

App Services App で Device Sync を構成します。 データ アクセス ルール を定義します。 開発モードを使用して、Swift または Objective-C データモデルからスキーマを推論します。

次に、クライアントからバックエンドに接続します。

2

認証プロバイダの 1 つを使用して、 ユーザー を認証します。 App Services は、Apple、Google、Facebook などの一般的な認証プロバイダへのアクセスを提供します。 組み込みのメール/パスワードプロバイダーを使用して、サードパーティなしでユーザーを管理するか、カスタムJSON web token認証を使用して他の認証プロバイダと統合します。 匿名認証により、ログインやユーザー データの永続化を必要とせずにアクセスできます。

3

同期されたデータベース を構成して開きます。 同期されたデータベースが読み書きできるデータを判断するには、 クエリにサブスクライブします。

4

データの読み取りと書き込みをするための API は、同期されたデータベースでも同期されていないデータベースでも同じです。 デバイスに読み書きするデータは、Atlas クラスターや他のクライアントと自動的に同期されます。 アプリはオフラインでも動作し続け、ネットワーク接続が利用可能な場合はいつでも変更を確定的に同期します。

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 モバイルのイラスト

App Services バックエンドで実行されるクライアント アプリケーションからサーバーレス関数を呼び出すことができます。

MongoDB に保存されているデータは、クライアント アプリケーション コードから直接クエリできます。

組み込み認証プロバイダーとサードパーティ認証プロバイダーを使用してユーザーを認証します。 認証されたユーザーを使用して App Services にアクセスします。

App Services のイラスト
必須ドキュメント
Realm アイコン

Swift API リファレンス

SDK の Swift API 向けに生成された参照Docsをご覧ください。

Swift API リファレンス

Realm アイコン

Objective-C API リファレンス

DocsSDK のObjective-C API の生成されたリファレンス をご覧ください。

Objective-C API リファレンス

チュートリアル アイコン

SwiftUI クイック スタート

SwiftUI を使用して開発を開始します。

クイック スタートを調べる

エンジニアリング プロジェクトと専門家が提供するサンプルプロジェクトを探索して、Swift SDK を使用するベストプラクティスと一般的な開発パターンを学びます。 その他のサンプル アプリについては、「 サンプルプロジェクト」ページをご覧ください。

非対称同期アイコン

分析/テレメトリクス データ

センサー読み取りを取得し、データを Atlas にプッシュし、Atlas Charts または時系列コレクションに結果を表示します。

サンプルアプリ

クラウド モバイル転送アイコン

接続状態の変更とエラーの処理

同期エラーとクライアントのリセットの処理に関するベストプラクティスを参照してください。

サンプルアプリ

Realm オフライン アイコン

オフライン ログインとデータベース アクセス

Device Sync ユーザーとしてログインし、同期されたデータベースをオフラインで開きます。

サンプルアプリ

トランザクション アイコン

アプリ内購入の統合

StoreKit を使用して、Device Sync 対応のレシピ ライブラリ アプリにアプリ内購入を追加します。

サンプルアプリ