如果内容需要与 iCloud 同步,我应该如何存储图像

Posted

技术标签:

【中文标题】如果内容需要与 iCloud 同步,我应该如何存储图像【英文标题】:How should I store images if content will need to be synced with iCloud 【发布时间】:2012-12-24 01:41:47 【问题描述】:

我正在为我的应用启用 iCloud 支持,但遇到了问题。在用户创建的我的内容对象中,他们可以为他们的对象选择一张图片。目前我将该图像作为二进制数据存储在 coredata 中,并使用外部存储选项,因为在测试中我发现图像的大小范围为 1-3mb。

注意:我保存的是数据本身而不是对所选图像的引用,这样用户就不会通过删除图像意外删除他们添加到我的应用内容对象中的图像资产从他们的照片流或相机胶卷中。

在阅读 Apple 关于 iCloud 的信息时,他们提到不要存储下载的大型数据文件。 (source)

鉴于我当前的数据结构似乎在没有 iCloud 的情况下也可以工作,我应该如何修改它以便可以合并 iCloud 以实现跨设备的数据同步?如果 Apple 建议不要同步大文件,那么应该如何在设备之间发送这些数据?

【问题讨论】:

【参考方案1】:

这取决于用户从哪里选择这些图片。基本上,如果您通过 iCloud 发送图像,还有其他方法可以获得吗?

如果它们来自某些在线资源并且可以再次从那里下载,那么您将属于“下载的大型数据文件”类别。传递有关如何从一台设备重新下载到另一台设备并根据需要再次下载的 URL 或其他详细信息。

如果它们来自在其他设备上不容易获得的其他来源(例如,用户从他们的相机胶卷中选择了一张照片),请继续并按原样在设备之间传递它。这更像是用户文档或数据,而不是您可以按需重新下载的内容。

【讨论】:

以上是关于如果内容需要与 iCloud 同步,我应该如何存储图像的主要内容,如果未能解决你的问题,请参考以下文章

如何将 NSUserDefaults 数据与 iCloud 同步

iOS 核心数据存储在 iCloud 中以与其他设备同步

tvOS 上的 iCloud 同步

如何将 sqlite 数据库与 Core Data 同步?

与 iCloud 同步文件 [关闭]

如何将 Core Data 与引用的文件同步?