iOS 开发小白请教一下 iCloud 存储

2023-06-10 09:17:56 +08:00
 estk
假设做个简易笔记 App ,本地用 sqlite 存储,本地的 sqlite 文件可以整个文件备份到 iCloud 吗?
然后同一个用户登录其它设备,从 iCloud 同步 sqlite 文件到本地
2614 次点击
所在节点    iCloud
15 条回复
shawndev
2023-06-10 09:47:11 +08:00
sqlite 要考虑多端登录怎么合并数据?想清楚你同步的是 sqlite 文件,还是 sqlite 里的记录。
ranleng
2023-06-10 09:48:58 +08:00
可以直接放 CoreData 里吧
estk
2023-06-10 10:45:43 +08:00
@ranleng #2
CoreData 纯本地,没云端吧?
James369
2023-06-10 10:47:14 +08:00
可以支持第三方云同步么,我喜欢自己掌控自己的数据
estk
2023-06-10 10:48:28 +08:00
@shawndev #1
打算用这种逻辑
备份时:先将云端拉下来跟本地合并,然后再上传新的
恢复时:拉下云端,跟本地合并
db 每个 table 都有 uuid 判断重复

自用的软件,还在做本地逻辑,先请教能否 iCloud 实现,实在不想搞后端
estk
2023-06-10 10:49:00 +08:00
@James369 #4
不想用任何后端,包括云数据库,所以才来请教 iCloud
ranleng
2023-06-10 10:51:39 +08:00
@estk coredata 不是可以 iCloud 同步么
agagega
2023-06-10 11:06:28 +08:00
sqlite 当文件备份这个方案我思考过,没有实践,觉得问题可能会很多,数据库文件比较大的话,iCloud Drive 的同步可能不那么可靠。

另一种方案是用 CloudKit ,可以自己手动用 CloudKit 的 API ,也可以用 Core Data 直接集成,后者的优点是比较方便,不用管很多实现细节,缺点是没有前者可控(还有人说有坑,我用比较少,还没遇到过)
justin2018
2023-06-10 11:08:05 +08:00
@estk #5

使用过这种方式实现 iCloud 和本地数据库同步得做好

CoreData + iCloud 是一个很好的配合 但是 iCloud 没有好用的第三方库 有点坑

每次需要实现 iCloud 同步的时候 感觉有点痛苦 好在产品都可以正常运行 🤣
gluttony
2023-06-10 11:36:44 +08:00
Core Data + CloudKit 同步已经考虑到了开发者会遇到的很多坑,如果自己同步 SQLite 文件还要重新造轮子。

v 友 @ranleng 开源的 https://github.com/RanKKI/LawRefBook 就是个同步数据的简单示例,看下项目代码就能入门。
estk
2023-06-10 11:50:17 +08:00
@gluttony #
用 sqlite 还有一个目的是想兼容安卓
哦,我忘了说是用 React Native 开发,抱歉
lyuxiuchen
2023-06-10 13:09:43 +08:00
realm 可以试一下,安卓 ios 都可以用
estk
2023-06-10 17:06:38 +08:00
@lyuxiuchen #12
这个云数据库看起来不错,不知大陆速度如何
lyuxiuchen
2023-06-10 20:25:51 +08:00
@estk 没测试过,我用的 realm 本地库+cloudkit 只做了 ios 端。
Liang1124
2023-06-10 21:22:53 +08:00
react-native-sqlite-2 默认是没有存到 cloud 的,但是理论上是可以的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX