Docs 菜单

适用于 Swift 的 Atlas Device SDK

使用 Atlas Device SDK for Swift 来开发 Swift 和 Objective-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

活动对象意味着数据始终是最新的。您可以注册通知处理程序来监视变化并执行一些逻辑,例如更新用户界面。或者在 SwiftUI 中,使用 Swift 属性包装器在数据发生变化时更新视图

Atlas Device SDK移动插图
1

在 App Services App 中配置 Device Sync 。 定义数据访问规则。 使用开发模式从 Swift 或 Objective-C 数据模型推断模式。

然后,从客户端连接到后端

2

使用我们的身份验证提供者之一对用户进行身份验证。 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 生成的参考文档。

Swift API 参考文档

Realm 图标

Objective-C API 参考文档

探索为 SDK 的 Objective-C API 生成的参考文档。

Objective-C API 参考文档

教程图标

SwiftUI 快速入门

开始使用 SwiftUI 进行开发。

探索快速入门内容

探索工程和专家团队提供的示例项目,了解使用 Swift SDK 的最佳实践和常见开发模式。查看示例项目页面,了解更多示例应用。

非对称同步图标

分析/遥测数据

获取传感器读数,将数据推送到 Atlas,并在 Atlas Charts 或时间序列集合中显示结果。

示例应用

云移动传输图标

连接状态变更和错误处理

了解关于处理同步错误和客户端重置的最佳实践。

示例应用

Realm Offline 图标

离线登录和数据库访问

登录 Device Sync 用户并离线打开已同步数据库。

示例应用

事务图标

集成应用内购买

使用 StoreKit 将应用内购买功能添加到启用 Device Sync 的菜谱库应用程序。

示例应用