代码之家  ›  专栏  ›  技术社区  ›  Max

使用icloud的本地核心数据存储

  •  0
  • Max  · 技术社区  · 11 年前

    我有一个关于iOS7中带有核心数据存储的icloud存储的问题。在苹果WWDC会议上,有人提到可以在沙盒中创建核心数据存储,当应用程序开始接收来自icloud的响应时,核心数据存储中的更改将合并到icloud存储中。

    现在,(我可能错了),但会议进一步提到,一旦应用程序切换到icloud存储,本地核心数据存储将被删除。所以,我的问题是,本地核心数据存储能否与iOS7中的icloud存储共存(这样用户就可以离线处理数据)?这个有什么示例代码吗?

    2 回复  |  直到 11 年前
        1
  •  1
  •   Guto Araujo    11 年前

    在iOS 7中,核心数据框架负责管理本地商店,直到iCloud商店设置好并可用。这种模式也适用于应用程序脱机时,并且在应用程序脱机后不会删除任何数据(只是在开发中仔细检查了我的应用程序)。

    在其他情况下,iCloud商店将被删除。这是在iCloud用户帐户更改的情况下发生的,在这种情况下,相应的iCloud存储文件将被删除。在这种情况下,有一个新的API NSPersistentStoreCoordinatorStoresWillChangeNotification 允许您在存储不可用之前存储未保存的数据。如果用户稍后使用同一帐户登录,则数据将从iCloud恢复(查看15’处的WWDC 2013会话207视频了解更多信息)。

    至于示例代码,到目前为止还没有。然而, iCloud sample code shared by AppleSpaceMan 在开发者论坛上,这是我用作基础的地方,效果很好。

        2
  •  0
  •   Duncan Groenewald    10 年前

    只要您有一个iCloud帐户并登录到该帐户,您就可以使用iCloud商店脱机工作(无网络连接)。我刚刚发布了一个示例应用程序,其中包括以下功能:

    • 使用 地方的 苹果云 核心数据存储
    • 包括一个 设置捆绑包 (请注意,这会在设置应用程序中创建一个设置页面),其中包括:
      • 使用iCloud 首选项设置(打开或关闭)
      • 进行备份 首选项设置(打开或关闭)
      • 显示应用程序 版本 内部版本号
    • 提示用户有关存储选项 使用iCloud 首选项更改为ON
    • 将核心数据存储迁移到iCloud和从iCloud迁移核心数据存储 取决于用户的偏好设置和对提示的响应
    • 检测从其他设备删除iCloud存储 并通过创建一个新的空iCloud商店进行清理
    • 迁移时检查现有iCloud文件 本地存储到iCloud,并提示用户如果存在iCloud文件,是合并还是放弃本地存储中的数据
    • 进行备份 如果 进行备份 首选项设置为ON。备份文件名为 持久存储备份_yyyy_MM_dd_HH_MM_ss。 要使用它:
      • 将备份首选项设置为ON,下次激活应用程序时,它将备份当前核心数据存储,并将首选项重置为OFF
      • 文件可以从iTunes复制到PC或Mac
      • 要恢复,只需将应用程序设置为使用本地文件( 使用iCloud 首选项OFF),并替换 持久存储 具有所需备份文件的文件(请注意,必须调用该文件 持久存储 ).
      • 然后再次通过iCloud共享恢复的文件 使用iCloud 首选打开并运行应用程序

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