TICoreDataSync连接到Web服务器后端?

Jas*_*son 5 sync core-data ios icloud ticoredatasync

我一直在研究用于核心数据同步的iCloud的替代品,一个有前途的选择是TICoreDataSync(代码可以在这里找到).是否有任何修改此功能的例子可以在自己的网络服务器上运行,而不是将同步文件上传到Dropbox?设置TICoreDataSync的最佳方法是什么?

Chr*_*ner 0

您应该查看远程文件层次结构页面,其中描述了预期内容。它似乎期望一个“哑”文件系统,它只需要对指定位置进行读/写访问。它与仅存储二进制文件的 Dropbox 配合使用的事实进一步证明了这一点。这种类型的服务可以通过许多不同的方式来实现,除了定义的层次结构之外,这些方式不依赖于 TICoreDataSync。您只需要一个允许对定义的路径进行标准读/写访问的服务器。要问的重要问题是如何将 TICoreDataSync 指向特定端点?答案似乎是通过初始化TICDSFileManagerBasedApplicationSyncManager并设置applicationContainingDirectoryLocation属性。此处文档中不清楚的一件事是,它没有说明这是否必须是本地目录的 URL。理论上它是一个 NSURL,并且可以设置为 HTTP URL(假设 HTTP 服务器正确处理 I/O 方法)。

\n\n

这是我从在您自己的服务器上存储信息开始的地方。根据您对问题的标签,您似乎正在构建一个 iOS 应用程序,不幸的是,他们的文档仅讨论将 DropboxSDK 与 iOS 应用程序和相应的类一起使用TICDSDropboxSDKBasedApplicationSyncManager。如果您正在构建 Mac 应用程序,服务器组件可能对您的应用程序是透明的。您可以写入从服务器安装的本地目录(无论是 WebDav、SMB、SSH 等)并使用该类TICDSFileManagerBasedApplicationSyncManager

\n\n

综上所述,您可能对其他一些方法感兴趣。如果您对本土解决方案感兴趣,您可以查看我编写的这些教程。

\n\n

如何将核心数据与 Web 服务同步 \xe2\x80\x93 第 1 部分\n如何将核心数据与 Web 服务同步 \xe2\x80\x93 第 2 部分

\n\n

为了使教程制作中的应用程序有价值,还有很多工作要做,但它可能是富有洞察力的。

\n\n

另一个选择是AFIncrementalStore,它提供 CoreData 和 Web 服务后端之间的无缝通信。

\n\n

无论如何,同步这样的数据是一项相当大的任务,因此请准备好花费大量时间进行开发,以使其正确!

\n