【问题标题】:CloudKit offline storageCloudKit 离线存储
【发布时间】:2017-05-18 20:16:32
【问题描述】:

我正在开发使用 CloudKit 的 iOS 应用程序。我很清楚如何在设备上请求时从云端下载/上传数据。当存在互联网连接时,它工作得很好。我正在考虑允许用户离线访问他们的数据。经过简短的研究,我发现 CoreData 与 iCloud 的集成在最近的 Xcode 版本中已被贬低。我在 github 上发现了一些第三方 pod,它们可以通过将核心数据从设备同步到 iCloud 来解决这个问题。由于可能的数据丢失或其他问题,我对使用这些插件有点怀疑。贬值 CloudKit 是为了摆脱离线存储的想法吗?我现在想做什么......我应该尝试在核心数据和 iCloud 之间创建某种同步,还是根本不使用核心数据,只让用户仅在在线连接可用时访问数据。这种方法将节省设备存储空间,但仅限于在线访问数据。有什么建议吗?

【问题讨论】:

  • CloudKit 未被弃用。 Core Data 与 iCloud 的集成已被弃用,但这不是一回事。 Core Data 从未与 CloudKit 集成过,因此没有什么可弃用的。
  • 是的,这正是我所说的“与 iCloud 集成” CloudKit 是 iCould 的一部分。我不知道你为什么说没有什么可以贬值的。无论如何,您有什么建议或建议吗?
  • 我想这就是我要找的东西:developer.apple.com/library/content/documentation/…
  • @KirillC 我相信你是对的,一直在看同样的东西,指南真的很糟糕。如果您准备好使用第三方库,也许 EVCloudKitDao (cocoapods.org/pods/EVCloudKitDao) 看起来很有希望,尽管我还没有尝试过。但是,它允许缓存,这可能是您需要的,尽管它没有明确提及离线功能。
  • 另一种方法是使用 iCloud 键值存储 (developer.apple.com/library/content/documentation/General/…),这有点像使用 NSUserDefaults 但在 iCloud 中,所以如果你熟悉它,那么它很容易处理并且它离线时自动缓存,当用户再次在线时跨设备同步。缺点是您只能拥有非常有限和简单的数据(想想应用程序设置),并且同步不是即时的,它由 iCloud 在后台自动处理。

标签: ios swift core-data swift3 cloudkit


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多