温馨提示:本文最后更新于
2025-01-20 15:38:57,某些文章具有时效性,若有错误或已失效,请在下方留言。Xcode配置
如果要将应用程序的数据同步到 iCloud,请转到应用程序Target的 Signing & Capabilities 设置
![图片[1]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://oss.stewednoodles.com/2025/01/20/StewedNoodles20250120142825.webp)
添加 iCloud 功能
点击 + Capability 按钮,选择 iCloud 功能
![图片[2]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://oss.stewednoodles.com/2025/01/20/StewedNoodles20250120143006.webp)
选择 CloudKit
在 iCloud 的选项中,选择 CloudKit 功能
![图片[3]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://oss.stewednoodles.com/2025/01/20/StewedNoodles20250120143215.webp)
添加 CloudKit 容器
点击 Containers 下方的+号按钮创建新的容器或选择现有的容器。
![图片[4]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://oss.stewednoodles.com/2025/01/20/StewedNoodles20250120143810.webp)
添加 Background Modes
点击 + Capability 按钮,选择 Background Modes
![图片[5]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://blog.stewednoodles.com/wp-content/uploads/2025/01/CleanShot20250120145407.png)
选择远程通知
在Background Modes的选项中,选择 Remote Notifications 复选框
![图片[6]-如何将 SwiftData 与 iCloud 同步-Stewed Noodles 资源](https://oss.stewednoodles.com/2025/01/20/StewedNoodles20250120150814.webp)
应用程序现在已配置为将其所有数据与 iCloud 同步。
SwiftData 模型修改
可能需要对 SwiftData 模型进行一些更改,因为 CloudKit 有一些非常具体的要求。如果您不遵循这些要求,您的 iCloud 同步将会默默失败
- 不能在要同步到
CloudKit的任何属性上使用@Attribute(.unique)。 - 所有属性都必须具有默认值或与它们的初始值设定项一起标记为可选。
- 所有关系都必须标记为可选。这是特别烦人™,但这是一项要求,所以我们无能为力。
只要您对所有模型进行这些更改,它们就会自动同步到 CloudKit。如果您的用户稍后从设备中删除您的应用程序然后重新安装,SwiftData 将自动从 iCloud 获取旧数据并在本地同步。
使用 CloudKit 时,您可能会发现 Apple 的 CloudKit 仪表板是查看 CloudKit 如何存储数据的有用资源。您可以在这里找到它https://icloud.developer.apple.com/dashboard 。
© 版权声明
THE END







暂无评论内容