将核心数据存储到RackSpace

时间:2014-12-13 23:10:45

标签: ios xcode core-data rackspace-cloud

我正在xCode 5,iOS 7上开发一个应用程序。我有一些数据存储在CoreData中。我的要求是将数据上传到RackSpace。什么是最好的方法呢? 我在哪里可以找到与CoreData相关联的.sqlite文件?

1 个答案:

答案 0 :(得分:1)

SQLite文件就在您放置的任何位置。它没有什么神奇之处,你必须准确地告诉Core Data你想要文件的位置。当您致电addPersistentStoreWithType:configuration:URL:options:error:时,请执行此操作。 URL参数是SQLite文件的位置。

如果您尝试直接使用该文件,请确保:

  1. 在执行此操作之前完全关闭Core Data堆栈,以确保所有未保存的数据已刷新到磁盘。这意味着在任何地方都没有托管对象,托管对象上下文或持久性存储协调器。
  2. 确保获取SQLite日志文件。如果您的商店文件名为Foo.sqlite,则它们将被命名为Foo.sqlite-walFoo.sqlite-shm,并且将位于同一目录中。如果您没有收到这些文件,那么您的大部分或全部数据都将丢失。
  3. 然而,简单地上传文件并不是同步数据的好方法。要同步数据,您必须下载数据副本,加载数据,并将文件中的每个对象与手机上已有的每个对象进行比较。这并非不可能,但它确实使事情变得比必要的困难得多。有许多选项可以简化流程,包括Parse等完整服务提供商,允许您使用Ensembles.io等各种后端之一的SDK。