V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tsohgdivil
V2EX  ›  Apple

好纠结啊 Apple 官方提供的技术栈

  •  
  •   tsohgdivil · 10 天前 · 1479 次点击

    出于兴趣在学习用 SwiftUI 写一个 Universal 的 App ,却在数据持久化+同步上纠结了。

    数据持久化有很多方案,但是如果要同时满足 iCloud 多设备同步,似乎只有

    1. CoreData with CloudKit
    2. SwiftData

    CoreData 看起来已经非常陈旧,本身也不是为了 SwiftUI 而生,而且那些 NS 的前缀和写法看着就头疼

    SwiftData 看起来很不错,非常现代也很优雅。

    但是好嘛,经典 **iOS 17.0+**。我觉得就算是出于兴趣的 App ,至少也要支持到 iOS16.0 吧。。。

    所以现在就很纠结,如果用 CoreData ,不仅学起来,写起来起来感觉很麻烦,等到之后切换到 SwiftData 又要做改动。

    如果用 SwiftData ,最低版本 iOS17.0

    有没有什么既要有要的办法?

    10 条回复    2024-04-29 18:50:20 +08:00
    chiaf
        1
    chiaf  
       10 天前
    leconio
        2
    leconio  
       10 天前 via iPhone
    supabase?
    kera0a
        3
    kera0a  
       10 天前 via iPhone
    realm +icecream 自动 icloud 同步
    ChengLuffy
        4
    ChengLuffy  
       10 天前
    SwiftUI 支持过往系统版本很麻烦,如果手边没有 iOS 16 版本的真机,有可能遇到 bug 都无法复现
    tsohgdivil
        5
    tsohgdivil  
    OP
       10 天前
    @kera0a #3

    icecream 我也看到了,但是好像 2 年没更新了啊
    owen666
        6
    owen666  
       10 天前
    Core Data 哪里陈旧了。倒是 Swift Data 由于是新开的坑,现在还有好多 bug ,就算是 iOS 17 也有好多功能处处是坑。而且 Core Data 和 Swift Data 本身就是平行的。并不是互相替代的关系。至少 5 年之内并不用担心 Core Data 没有了。这就像有了 SwiftUI ,但是 UIKit 还一直都会在是一样的。
    ivyliner
        7
    ivyliner  
       10 天前
    嗯, 你说的点确实.
    但是我还是建议你用 CoreData, 因为写代码麻烦点直接还有解决方案. SwiftData 遇到的坑可能是在 iOS 17 上都爬不出来. 最后升级的话, CoreData 苹果也不可能废弃, 为啥要升级呢? 真的要用的话, 后续新项目用 SwiftData, 旧的项目相信我你也不想升级.
    tsohgdivil
        8
    tsohgdivil  
    OP
       10 天前
    @owen666 #6 说的有道理啊,再多说一点我直接 all in CoreData
    SilenceLL
        9
    SilenceLL  
       9 天前
    @chiaf +1 mongo db realm
    weeei
        10
    weeei  
       4 天前
    试试 Codable + CloudKit ? https://github.com/insidegui/CloudKitCodable
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2327 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:41 · PVG 18:41 · LAX 03:41 · JFK 06:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.