iOS 开发小白请教一下 iCloud 存储 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拼车信息请发到 /go/cosub 节点。

如果没有发送到 /go/cosub,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
estk
V2EX    iCloud

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

  •  
  •   estk 2023-0610 09:17:56 +08:00 3382 次点击
    这是一个创建于 853 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假设做个简易笔记 App ,本地用 sqlite 存储,本地的 sqlite 文件可以整个文件备份到 iCloud 吗?
    然后同一个用户登录其它设备,从 iCloud 同步 sqlite 文件到本地
    第 1 条附言    2023-06-10 11:50:59 +08:00
    忘了说,用的是 React Native 开发,考虑到兼容安卓,所以选择 sqlite
    第 2 条附言    2023-06-10 21:50:38 +08:00
    16 条回复    2024-12-26 10:26:47 +08:00
    shawndev
        1
    shawndev  
       2023-06-10 09:47:11 +08:00 via iPhone
    sqlite 要考虑多端登录怎么合并数据?想清楚你同步的是 sqlite 文件,还是 sqlite 里的记录。
    ranleng
        2
    ranleng  
       2023-06-10 09:48:58 +08:00
    可以直接放 CoreData 里吧
    estk
        3
    estk  
    OP
       2023-06-10 10:45:43 +08:00
    @ranleng #2
    CoreData 纯本地,没云端吧?
    James369
        4
    James369  
       2023-06-10 10:47:14 +08:00
    可以支持第三方云同步么,我喜欢自己掌控自己的数据
    estk
        5
    estk  
    OP
       2023-06-10 10:48:28 +08:00
    @shawndev #1
    打算用这种逻辑
    备份时:先将云端拉下来跟本地合并,然后再上传新的
    恢复时:拉下云端,跟本地合并
    db 每个 table 都有 uuid 判断重复

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

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

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

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

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

    v 友 @ranleng 开源的 https://github.com/RanKKI/LawRefBook 就是个同步数据的简单示例,看下项目代码就能入门。
    estk
        11
    estk  
    OP
       2023-06-10 11:50:17 +08:00 via iPhone
    @gluttony #
    用 sqlite 还有一个目的是想兼容安卓
    哦,我忘了说是用 React Native 开发,抱歉
    lyuxiuchen
        12
    lyuxiuchen  
       2023-06-10 13:09:43 +08:00 via iPhone
    realm 可以试一下,安卓 ios 都可以用
    estk
        13
    estk  
    OP
       2023-06-10 17:06:38 +08:00 via iPhone
    @lyuxiuchen #12
    这个云数据库看起来不错,不知大陆速度如何
    lyuxiuchen
        14
    lyuxiuchen  
       2023-06-10 20:25:51 +08:00 via iPhone
    @estk 没测试过,我用的 realm 本地库+cloudkit 只做了 ios 端。
    Liang1124
        15
    Liang1124  
       2023-06-10 21:22:53 +08:00
    react-native-sqlite-2 默认是没有存到 cloud 的,但是理论上是可以的
    alight0205
        16
    alight0205  
       288 天前
    所以最后用的哪种方案呢,我也遇到了 sqlite 如何同步的问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3365 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:40 PVG 18:40 LAX 03:40 JFK 06:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86