I've encountered a significant sync issue with watchOS 10 RC on every device combination I've tested, running both iOS 17 and watchOS 10. I'm curious if others have noticed a similar problem.
Context:
- Standalone watchOS app developed in SwiftUI with a companion iOS app.
- Both apps use NSPersistentCloudKitContainer for bi-directional CloudKit CoreData Sync between the iOS app and watch.
- Previously, this sync mechanism was near instant in the foreground and took max 1-2 minutes in the background
- NSPersistentCloudKitContainer has been reliable since the app was first developed in the watchOS 6/iOS 13 era.
Issue:
- In watchOS 10 RC, sync can take hours--and doesn't even occur when the app is in the foreground.
- Sync only reliably happens when the watch is placed on the charger, seemingly only if the charge is over 50%.
- Once taken off the charger, the watch will continue push and receive CoreData changes briefly before becoming unresponsive to sync again.
Additional Info:
- The problem persists even when recompiled with the latest Xcode RC.
- It's problem is consistent in both production and development CloudKit environments.
- The CloudKit log shows no watch activity upon CoreData object updates, until placed on the charger (with over 50% charge). The sync starts in the background while the watch is charging.
- The iOS app, however, reflects immediate activity in the CloudKit log after a CoreData change from the device and reacts promptly to pushes when they eventually occur from the watch.
- The NSPersistentCloudKitContainer code hasn't changed since it was implemented.
- Background modes for remote notifications are set correctly, and when sync finally happens, it's accurate.
I'm stumped. Perhaps there's a new watchOS 10 setting affecting CloudKit sync QoS? Or could this be a known watchOS 10 RC bug?