【问题标题】:How to access iCloud as core data for iCloud is deprecated如何访问 iCloud 作为 iCloud 的核心数据已被弃用
【发布时间】:2017-02-10 08:22:46
【问题描述】:

我正在开发一个使用核心数据的应用程序,因为我认为我可以使用 iCloud 核心数据提供的同步功能在 iPad 和 iPhone 之间同步数据,现在它已被弃用。

我遇到了 CloudKit,但它主要用于创建和管理可供最终用户社区使用的数据,而不仅仅是聊天应用程序。我的应用程序仅适用于单个用户,以便用户可以在他们的苹果生态系统设备之间同步他们的数据。

我是 iOS 开发的新手,因此了解哪种技术可以满足我的要求会很有帮助。

简而言之,你能建议我应该使用什么

  1. 如果必须将数据存储在手机上以供离线使用
  2. 如果用户有 iPhone、iPad 和 iWatch,则在设备之间同步

附:您能否建议一些在保存数据时不需要用户登录 iCloud 的内容。

【问题讨论】:

    标签: ios swift xcode icloud


    【解决方案1】:

    CoreData/iCloud 集成在 iOS 10 / macOS Sierra 中已弃用,并且没有替代品(至少到目前为止)。

    目前为止:

    请注意,CoreData/iCloud 集成在未来一段时间内仍将有效。使用它的应用不会突然停止工作。

    【讨论】:

    • 但这两者都需要 iCloud,因为用户需要登录 iCloud 才能保存数据?
    • @learner122 CloudKit 确实要求用户拥有 iCloud 帐户。它为您处理所有安全方面的问题。 iCloud 本身并没有被弃用。只有核心数据集成框架。对于合奏,我不知道。但 Ensembles 允许用户将同步数据存储到 iCloud 或 Dropbox 或其他服务。所以我的猜测是它使用了选择的服务安全和身份验证。
    • 所以我正在考虑使用 Core Data + CloudKit 来满足我在编辑问题中提到的要求。你怎么看?
    • 我想这是一个可行的解决方案。然而,这将需要一些努力。而且很可能一些试验是错误的。但每个人都暂时处于这种情况。
    【解决方案2】:

    Apple 刚刚发布了一个新的 Core Data 容器,它可以通过 iCloud 跨设备同步。

    从这里开始:https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit/setting_up_core_data_with_cloudkit

    注意,这需要 iOS 13。

    【讨论】:

      【解决方案3】:

      您应该看看最新的 WWDC 的视频。 这是关于CloudKit Best Practiceswhats new in cloud kit 的内容 CloudKit 确实有一些很好的开箱即用的解决方案,您不必担心安全性。此外,最新功能使您能够使用通知来同步使用相同 Apple id 甚至更多的应用程序,因为用户现在可以选择共享某些数据。

      根据您同步的数据量,NSUbiquitousKeyValueStore.default() 也是一个选项。但仅适用于非常少的数据

      【讨论】:

      • 我同意这一点,但用户在保存数据时是否需要登录 iCloud?如果是,那么如果用户没有登录就会有问题
      • 确实如此,但我们也适用于所有其他苹果应用程序,例如照片、消息、页面等。
      • 我的应用程序在应用程序本身中提供图像和文本,用户选择并且他们不需要与外部环境交互,因此我正在考虑以它们始终可用的方式设计它离线。稍后将其与 iPad 或 iWatch 同步。为了满足这些要求,你认为 Core Data + CloudKit 会在 Core Data + iCloud 被弃用的情况下完成这项工作吗?
      • 是的,但有一些陷阱需要注意。我会将图像保存到照片中。通过这种方式,您可以从苹果免费获得所有同步和图像处理。图像将在您的应用程序中快速加载。查看照片 API。您可以为您的应用程序照片制作一个特殊的库,并自动分发到所有设备。文本非常适合 iCloud
      • 像什么?您是否可以建议我使用任何第三方工具来满足我的需求,这些工具不会很难通过应用商店审核
      猜你喜欢
      • 2018-01-08
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 2012-04-15
      • 2015-04-09
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多