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

2024-04-24 15:17:41 +08:00
 tsohgdivil

出于兴趣在学习用 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

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

2357 次点击
所在节点    Apple
10 条回复
chiaf
2024-04-24 15:24:21 +08:00
leconio
2024-04-24 15:26:20 +08:00
supabase?
kera0a
2024-04-24 15:26:33 +08:00
realm +icecream 自动 icloud 同步
ChengLuffy
2024-04-24 15:28:18 +08:00
SwiftUI 支持过往系统版本很麻烦,如果手边没有 iOS 16 版本的真机,有可能遇到 bug 都无法复现
tsohgdivil
2024-04-24 15:36:30 +08:00
@kera0a #3

icecream 我也看到了,但是好像 2 年没更新了啊
owen666
2024-04-24 16:03:04 +08:00
Core Data 哪里陈旧了。倒是 Swift Data 由于是新开的坑,现在还有好多 bug ,就算是 iOS 17 也有好多功能处处是坑。而且 Core Data 和 Swift Data 本身就是平行的。并不是互相替代的关系。至少 5 年之内并不用担心 Core Data 没有了。这就像有了 SwiftUI ,但是 UIKit 还一直都会在是一样的。
ivyliner
2024-04-24 16:46:23 +08:00
嗯, 你说的点确实.
但是我还是建议你用 CoreData, 因为写代码麻烦点直接还有解决方案. SwiftData 遇到的坑可能是在 iOS 17 上都爬不出来. 最后升级的话, CoreData 苹果也不可能废弃, 为啥要升级呢? 真的要用的话, 后续新项目用 SwiftData, 旧的项目相信我你也不想升级.
tsohgdivil
2024-04-24 16:51:45 +08:00
@owen666 #6 说的有道理啊,再多说一点我直接 all in CoreData
SilenceLL
2024-04-25 09:19:20 +08:00
@chiaf +1 mongo db realm
weeei
2024-04-29 18:50:20 +08:00
试试 Codable + CloudKit ? https://github.com/insidegui/CloudKitCodable

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

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

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

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

© 2021 V2EX