gpt4 book ai didi

ios - iCloud 与核心数据和文件同步

转载 作者:可可西里 更新时间:2023-11-01 17:07:31 30 4
gpt4 key购买 nike

我正在开发一个将 Core Data 与 iCloud 结合使用的应用程序(iOS7 提供了巨大的改进)。此应用程序存储数据以使用以下信息描述任务:

  • name 一个 NSString
  • date NSDate
  • image 一个描述图片路径的 NSString

图片可以存储在 Documents 或 Library Directory 中(我必须决定哪个文件夹更方便),顺便说一句,在同一个文件夹中,名称唯一。

现在我也想为图像激活 iCloud 同步,否则用户的体验将是不完整的(我只是同步数据库数据..没有图像,应用程序的奇怪/错误行为)。

Apple 文档让我很困惑。我找不到一种方法来准确理解 iCloud 数据如何满足这种需求。我只想在创建文件夹后立即同步文件夹的每个文件。所以我的问题是:

  • 能否分享一些好的资源来学习如何使用 iCloud 进行文件同步
  • 我必须使用 UIDocument 和其他 iCloud API 吗?或者有什么“自动”的东西。相当新的再见/愚蠢的问题,我知道 :(
  • 在同一个应用程序中使用基于 Core Data 和文档的 iCloud 同步有什么问题吗?

注意:我知道我可以通过在文档文件夹中添加文件并希望用户激活文档同步来同步数据......但这显然不是我想要的。

最佳答案

在同一应用程序中同时使用 Core Data 事务日志同步和基于文件的同步来实现您想要实现的目标非常简单。

因此,您将设置您的 Core Data 堆栈以使用 iCloud 选项并通过 iCloud 同步数据更改。同时,您可以将图像存储在 Apps iCloud 容器中,以便它们也能同步。请记住,您需要在 Core Data fileURL 中使用图像的相对引用,因为完整路径名会因应用程序运行的设备而异。因此,例如,您只需将图像文件名存储在核心数据中,并使用标准目录(例如“iCloudContainer/Documents/Images/”)来存储它们。 “iCloudContainer”是您通过调用 [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:] API 获得的 URL。

我已经上传了示例 Core Data 应用程序,这些应用程序使用 iCloud 进行事务日志同步(即同步 Core Data 中的数据),并使用文件同步将 Core Data 备份文件存储在 iCloud 中,然后可以通过任何设备访问这些文件。您应该能够使用相同的代码将图像的备份文件移入和移出 iCloud。请记住,您必须先触发从 iCloud 下载文件,然后才能通过协调读取或使用 NSFileManager 初始化下载来使用它们。

http://ossh.com.au/design-and-technology/software-development/sample-library-style-ios-core-data-app-with-icloud-integration/

http://ossh.com.au/design-and-technology/software-development/sample-library-style-ios-core-data-app-with-icloud-integration/sample-apps-explanations/

下载并运行示例应用程序,并使用内置的备份文件管理器制作备份文件,并使用不同的设备将它们复制到 iCloud 或从中复制。然后在存储图像文件时使用相同的代码。

您的应用程序确实必须处理用户更改 iCloud 帐户、登录或退出 iCloud 等事情,并且它们会相应地移动核心数据文件和图像文件。

关于ios - iCloud 与核心数据和文件同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247139/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com