2014-01-14 58 views
0

我在我的Mac上使用了几个应用程序,将它们的数据存储在核心数据中。我可以在CoreDataPro中看到我想要的数据。我想要这些数据 - 具体而言,我想将更改发送到某些远程端点(如Zapier或其他REST服务)。将coredata流式传输到远程REST端点

我正在考虑搭载类似RestKit的东西 - 这样我就可以提供一个配置文件,说明应用程序的位置以及数据需要发送到的端点。我只需要刮取数据并发送到REST,而不是双向同步。

我更喜欢我可以配置的实用程序,而不必编写Mac应用程序。

我注意到http://nshipster.com/core-data-libraries-and-utilities/ - RestKit仍似乎是最有能力的,但在https://github.com/RestKit/RestKit/issues/1748我被告知coredata项目只能由一个单一的应用程序在同一时间打开,真的RestKit是专为烘烤到源应用程序(而不是用于数据库的抓取和发送)。

你会采取什么方法?

我也注意到: http://www.raywenderlich.com/15916/how-to-synchronize-core-data-with-a-web-service-part-1

谢谢,马丁。

回答

1

首先,核心数据是内存中的对象存储。从Core Data写入磁盘的内容可以是多种格式之一。其中一种格式恰好是SQLite。如果应用程序正在写入SQLite,则可以对同一文件进行采样并将其推送到其他地方。

但是,每个应用程序都有自己的数据结构,因此您需要在所处理的结构中保持灵活性。

RestKit在这种情况下没有任何价值,因为您只是将对象转换为JSON并将它们推送到服务器。内置的框架很好。

目前没有实用工具可以做到这一点。你需要自己写或者雇人来写。

如果我打算做这样的事情,我会使用Core Data自己编写它,从首先编写数据的应用程序中查询模型,然后将数据库转换为JSON并将其推送。你将无法分辨出什么是新旧对比,因此服务器需要对此进行排序。

另一个选择,因为你无法分辨,只是将sqlite文件推送到服务器,让服务器解析它。

+0

啊,谢谢你的清晰度:持久性和关于RestKit的其他观点。另外你关于推送SQLite数据库的观点给了我几个其他的想法! (我已经发布作为潜在答案,下面) –

0

我想知道是否一个好的答案(其中好的排除了Objective-C并包括我知道的语言,比如 - 在一定程度上 - Ruby)是使用MacRuby及其核心数据库。

核心数据似乎可以作为活动记录公开。 https://www.google.com/search?q=macruby+coredata,值得注意的是http://www.spacevatican.org/2012/1/26/seeding-coredata-databases-with-ruby/

然而,MacRuby似乎已经褪色 - https://github.com/MacRuby/MacRuby/issues/231 - 它甚至不会在小牛队编译。

0

其他答案可能包括: