Docs 主页 → 开发应用程序 → Atlas Device SDKs
安装适用于 iOS、macOS、tvOS 和 watchOS 的 SDK
概述
Atlas Device SDK for Swift 允许您使用 Swift 或 Objective-C 编程语言来构建 iOS、macOS、tvOS 和 watchOS 应用程序。本页详细介绍了如何在项目中安装此 SDK 并开始使用。
先决条件
在开始之前,请确保您的开发环境满足以下前提条件:
Xcode 14.1-14.3.1,且目标为 iOS 11.0 或更高版本、macOS 10.13 或更高版本、tvOS 11.0 或更高版本、watchOS 4.0 或更高版本。
您的项目已启用反射。Swift SDK 使用反射来确定模型的属性。您的项目不得设置
SWIFT_REFLECTION_METADATA_LEVEL = none
,否则 SDK 无法看到模型中的属性。如果您的项目未专门为此设置设定一个级别,则默认情况下会启用反射。
已在 10.40.0 版中更改。
Swift SDK 版本 10.40.0 已删除对 Xcode 13 的支持。对于 v10.39.01 及更早版本,以下 Xcode 13 要求适用:
Xcode 版本13 1。 或更高版本。
使用 Xcode 13 时,所需目标为:iOS 9.0 或更高版本、macOS 10.9 或更高版本、tvOS 9.0 或更高版本、watchOS 2.0 或更高版本。
如果将 Swift Package Manager 与 Xcode 13 一起使用,则需要以下目标:iOS 11 及更高版本或 macOS 10.10 及更高版本。
注意
将 SDK 与 tvOS 搭配使用时,有一些特殊注意事项。请参阅为 tvOS 进行构建以了解更多信息。
安装
您可以使用 SwiftPM
、CocoaPods
或 Carthage
将 Swift SDK 添加到您的项目。
提示
Atlas Device SDK 和 Realm
此 SDK 使用 Realm Core 数据库来实现设备数据持久化。安装 Swift SDK 时,包名称会反映 Realm 命名方式。
导入 SDK
提示
Atlas Device SDK 和 Realm
此 SDK 使用 Realm Core 数据库来实现设备数据持久化。导入 Swift SDK 时,包名称会反映 Realm 命名方式。
在源文件顶部添加以下行以使用此 SDK:
应用下载文件大小
此 SDK 应只会使您的应用下载大小增大约 5 到 8 MB。我们分发的版本要大得多,因为它们包含了对 iOS、watchOS 和 tvOS 模拟器、某些调试符号和位码的支持,而所有这些在下载应用时均会被 App Store 自动删除。
故障排除
如果使用这些方法之一来安装此 SDK 后出现构建问题,请参阅我们的故障排除指南以了解有关解决这些问题的信息。
操作系统支持
重要
将 SDK 与 tvOS 搭配使用时,有一些特殊注意事项。请参阅为 tvOS 进行构建以了解更多信息。
Xcode 14
支持的操作系统 | Realm | Atlas App Services |
---|---|---|
iOS 11.0 及更高版本 | X | X |
macOS 10.13 及更高版本 | X | X |
tvOS 11.0 及更高版本 | X | X |
watchOS 4.0 及更高版本 | X |
Xcode 15
版本 10.40.1 中的新增功能。
支持的操作系统 | Realm | Atlas App Services |
---|---|---|
iOS 12.0 及更高版本 | X | X |
macOS 10.13 及更高版本 | X | X |
tvOS 11.0 及更高版本 | X | X |
watchOS 4.0 及更高版本 | X | |
VisionOS 1.0 及更高版本 | X | X |
Swift 并发支持
Swift SDK 支持 Swift 的并发相关语言功能。有关使用 Swift SDK 并发功能的最佳实践,请参阅以下文档。
异步/等待支持
从 Realm Swift SDK 10.15.0 和 10.16.0 版本开始,很多 Realm API 均支持 Swift“异步/等待”语法。项目必须符合以下要求:
Swift SDK 版本 | Swift 版本要求 | 支持的操作系统 |
---|---|---|
10.25.0 | Swift 5.6 | iOS 13.x |
10.15.0 或 10.16.0 | Swift 5.5 | iOS 15.x |
如果您的应用会在 async/await
上下文中访问 Realm,请使用 @MainActor
来标记此代码,从而避免出现与线程相关的崩溃。
有关 Swift SDK 中异步/等待支持的更多信息,请参阅Swift 并发:Async/Await API。
Actor(角色)支持
Swift SDK 支持使用 actor 隔离的 Realm 实例。有关更多信息,请参阅结合使用 Realm 与 Actor - Swift SDK。
Apple 隐私清单
从春季2024 开始,Apple 要求使用RealmSwift
的应用程序在向 App Store 提交新应用程序或应用程序更新时提供有关 SDK 数据收集和使用实践的详细信息。有关 Apple 要求的更多详细信息,请参阅 即将发布的第三方 SDK 要求 在 Apple Developer 网站上。
从 Swift SDK 版本10开始。 46 。 0 ,SDK 附带了Realm
和RealmSwift
的隐私清单。每个包都包含自己的隐私清单,其中包含 Apple 要求披露的 API 以及使用这些 API 的原因。
您可以在每个包中或realm-swift
GitHub 存储库中查看隐私清单:
Realm
: https ://github.com/realm/realm-swift/blob/master/Realm/PrivacyInfo.xcprivacyRealmSwift
: https ://github.com/realm/realm-swift/blob/master/RealmSwift/PrivacyInfo.xcprivacy
Swift SDK 在 App Store 的构建版本中不包含分析代码。 SDK 不会代表自己登录 Atlas。
如果您编写的应用程序使用任何 App Services 功能,例如,初始化应用程序客户端以:
您可能需要在应用程序的隐私清单中添加额外的披露信息,以详细说明在使用这些 API 时的数据收集和使用实践。
有关更多信息,请参阅 Apple 的 隐私清单文件文档。