在设备之间共享 iOS sqlite 数据库的最佳方式是啥

Posted

技术标签:

【中文标题】在设备之间共享 iOS sqlite 数据库的最佳方式是啥【英文标题】:What is best way to share iOS sqlite database between devices在设备之间共享 iOS sqlite 数据库的最佳方式是什么 【发布时间】:2017-12-04 04:51:25 【问题描述】:

我使用 Xamarin 和 Sqlite 数据库作为后端创建了第一个简单的 ios 应用程序。一切正常,现在我的下一步是弄清楚如何使存储在 sqlite 中的数据在多个用户的设备上可用。由于 sqlite 数据库本地存储在用户的设备上,我需要编码和同步还是仅仅依靠用户来启用 icloud 和数据只是同步自己?我对此的理解仍然完全混乱。如果我需要编写代码来进行同步,你能给出一些示例代码吗?非常感谢您的帮助。 -谢谢

下面是我用来创建数据库的代码:

 var fileName = "TrackItem.db3";
 var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
 var libraryPath = Path.Combine(documentsPath, "..", "Library");

【问题讨论】:

iPhone (iOS) app using local sqlite and desire to sync between multiple devices的可能重复 谢谢我刚才看到的帖子,但它没有任何关于如何启用 iCloud 的示例编码(如果有的话)。我确实通过苹果并在应用程序上启用了 iCloud,但我还需要什么? developer.xamarin.com/guides/ios/data-and-cloud-services/ 核心问题是如果用户能够在多个设备上编辑数据库,您可以将sqlite 文件作为 UIDocument 但再次从多个设备进行更改将导致 sqlite db 损坏。通常您最好在唯一的 json 文件中维护数据库更改(增量),将它们用作 UIDocuments 并使用 SetSkipBackupAttribute 标记您的数据库,然后当“新" doc 显示您在数据库中处理同步它们。我使用 CoreData 或 Realm 进行同步,但 CoreData 对于 iCould 同步一直很麻烦 说我在单个设备上本地保存 sqlite db,使用 UIDocuments 存储更改(增量),独特的 jason 文件的典型内容是什么样的? - 提前致谢! 【参考方案1】:

sqlite 仅用于 loclly,请尝试使用 firebase

【讨论】:

以上是关于在设备之间共享 iOS sqlite 数据库的最佳方式是啥的主要内容,如果未能解决你的问题,请参考以下文章

在 IOS 设备上存储 JSON

iOS 钥匙串在设备之间共享数据

ios - 在应用程序之间共享数据,但链接到 Apple ID

我可以使用 RFCOMM 蓝牙协议在 iOS 设备和另一台设备之间共享数据吗?

使用 WiFi 在 iOS 设备之间同步音频的最佳方法是啥?

在同一应用 iPhone 中的设备之间共享数据