如何访问 iCloud 作为 iCloud 的核心数据已弃用

How to access iCloud as core data for iCloud is deprecated

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

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

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

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

  1. 如果必须在 phone 上存储数据以供离线使用
  2. 如果用户说 iPhone、iPad 和 iWatch
  3. ,则跨设备同步

P.S。你能推荐一些不需要用户在保存数据时登录 iCloud 的东西吗?

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

到目前为止的前进方向:

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

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

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

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

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

注意,这需要 iOS13.