Post

Replies

Boosts

Views

Activity

Reply to Current CloudKit pricing?
I, too, have noticed that the pricing information seems to have been scrubbed from Apple's websites. Looking at my existing containers, it appears the public storage limits fall and rise based on active users. In the CloudKit dashboard, head over to Telemetry, Usage to see for yourself.
Sep ’22
Reply to CKError 429 from CloudKit, using CKDiscoverAllUserIdentitiesOperation
if there is a question here, the answer is to do what it says "Retry after X seconds". The actual time is included in the info dictionary of the error. Here's a snippet from CloudCore, an open-source sync engine, that shows how it retrieves this info… private func handle(error: Error, …) { guard let cloudError = error as? CKError else { … return } switch cloudError.code { case .requestRateLimited, .zoneBusy, .serviceUnavailable: if let number = cloudError.userInfo[CKErrorRetryAfterKey] as? NSNumber { let pauseUntil = Date(timeIntervalSinceNow: number.doubleValue) } … } }
Dec ’22
Reply to In-app storage/sync strategy for shared objects
How important is user privacy? How important is security? How are you planning to pay for cloud services like FireBase or AppWrite? I choose CloudKit (and CoreData), time and again, because, user data is private and secure by default, the capability to share between users is built in on top of that privacy and security, and users pay for their own cloud storage, not me. In 2019, Apple introduced a sync system between the CloudKit and CoreData, called NSPersistentCloudKitContainer, which might server you well. If you want more control, check out CloudCore. And for Android, check out cloudkit_flutter. fwiw
Topic: Programming Languages SubTopic: Swift Tags:
Jan ’23