Core Data + CloudKit:Transformable 欄位跨帳號同步失效
Core Data + CloudKit:Transformable 欄位跨帳號同步失效 踩到一個很詭異的 bug:自己手機看到的資料完整;分享給別人之後,別人手機只看得到事件類型跟時間,數字欄位全都空白。 具體情境:貓咪照護記錄 app,事件有血糖、胰島素、體重、灌食等。每筆事件的數字(血糖值、胰島素劑量、體重公斤、灌食 g 數)分享給配偶的手機後統統消失,只剩事件類型的 icon 跟...
Core Data + CloudKit:Transformable 欄位跨帳號同步失效 踩到一個很詭異的 bug:自己手機看到的資料完整;分享給別人之後,別人手機只看得到事件類型跟時間,數字欄位全都空白。 具體情境:貓咪照護記錄 app,事件有血糖、胰島素、體重、灌食等。每筆事件的數字(血糖值、胰島素劑量、體重公斤、灌食 g 數)分享給配偶的手機後統統消失,只剩事件類型的 icon 跟...
SwiftData 到 Core Data 的遷移實戰:為了真正能跨帳號共享 寫完 CKShare Silent Failures on TestFlight 之後,發現即使把 share 流程修好,SwiftData 本身對共享的支援仍不到位——收件人接受分享後看不到資料,因為 SwiftData 的 cloudKitDatabase: .automatic 只同步使用者自己的 priv...
當 SwiftData + CKShare 在 TestFlight 上「什麼錯都不報」 這篇記錄一次從「分享功能完全不動、沒錯誤訊息」開始,一路排查到真正原因的過程。牽涉的技術是 SwiftData + CloudKit + UICloudSharingController + TestFlight,每一層都有自己的陷阱,疊起來讓錯誤訊息被完全吃掉。 症狀 開發階段用 cloudKi...
讀 Apple 文件的方法:以 PreviewModifier 為例 Apple 在 What’s new in SwiftData – WWDC24 裡用一句話介紹了 PreviewModifier: To use preview traits, you can create a new struct that conforms to PreviewModifier which ...
用 PreviewModifier 取代 ModelContainerPreview 上一篇(搞懂 SwiftData Preview 為什麼需要 ModelContainerPreview)解釋了 Apple 範例裡 ModelContainerPreview 在做什麼。 這篇講的是:如果你的專案支援 iOS 18+,可以用 Apple 官方的 PreviewModifier prot...
從 Apple 範例看 SwiftData 的 CRUD 寫法 Apple 的 Adding and editing persistent data in your app 範例專案(SwiftDataAnimals)是學 SwiftData CRUD 最直接的教材。 這篇把範例裡的讀取、新增、修改、刪除拆開看,整理出 Apple 推薦的寫法。 專案結構 SwiftDataAnima...
搞懂 SwiftData Preview 為什麼需要 ModelContainerPreview Apple 的 SwiftData 範例專案(SwiftDataAnimals)裡有兩個 Preview helper 檔案: ModelContainerPreview.swift — 一個泛型 wrapper View Preview+ModelContainer.swift ...
SwiftData @Query vs ViewModel:MVVM 在 SwiftUI 時代還活著嗎? SwiftData 的 @Query 只能放在 View 裡面,不能注入 ViewModel。這個限制讓社群吵翻了——MVVM 到底還能不能用? 這篇整理兩大陣營的論點和具體做法,附上社群討論的連結。 問題的核心 @Query 需要 SwiftUI environment 才能運...
Use NSUbiquitousKeyValueStore to Save Small App Settings in iCloud Sometimes, a small flag in an app is important enough that it should not disappear after the user deletes and reinstalls the app....
1. 問題 CloudKit 的分享功能程式碼都寫好了,UICloudSharingController 也能正常彈出來,但實際分享時不會動作,或是接受分享的那一端根本收不到。 2. 原因 少了一個 Info.plist 的設定:CKSharingSupported。 這個 key 告訴系統「這個 app 支援接受 CloudKit 分享」。沒有它的話: 分享連結打開後不...