NSPersistentCloudKitContainer doesn't report "Quota Exceeded" through notification

When subscribing to NSPersistentCloudKitContainer.eventChangedNotification events, quota exceeded events aren't delivered to the app at runtime.

I get CKError.partialFailure, but without any additional information in any of the properties. https://developer.apple.com/documentation/cloudkit/ckerror/code/partialfailure states information should be available, but it isn't.

When a debugger is attached, the information is logged by another process, but my app cannot access that at runtime to provide users with additional information.

Is there any workaround to get this to work?

References:

Answered by Frameworks Engineer in 890713022

Can you file a feedback report with a sysdiagnose attached?

It would also help to include any logging you might have of the full notification payload with the raw error in it.

We expect the eventChangedNotification to include the full error payload, including the CKPartialErrorsByItemIDKey of the reported error object. If that's not happening we would like the fix that.

Persisted NSPersistentCloudKitContainerEvent objects do not include the full payload, so for example events retrieved using NSPersistentCloudKitContainerEventRequest will only include the domain / code of the original error.

Can you file a feedback report with a sysdiagnose attached?

It would also help to include any logging you might have of the full notification payload with the raw error in it.

We expect the eventChangedNotification to include the full error payload, including the CKPartialErrorsByItemIDKey of the reported error object. If that's not happening we would like the fix that.

Persisted NSPersistentCloudKitContainerEvent objects do not include the full payload, so for example events retrieved using NSPersistentCloudKitContainerEventRequest will only include the domain / code of the original error.

Feedback FB13773922 has a sysdiagnose and in-depth logs attached as well as reproduction steps.

That sysdiagnose doesn't include any logs that match this predicate: --predicate 'message contains[cd] "Quota exceeded"'. It would be good to get a fresh one with the CloudKit logging profile applied.

Thanks for the information. I attached a fresh sysdiagnose and additional logs from Console.log during the reproduction.

I hope this helps in finding the root cause.

NSPersistentCloudKitContainer doesn't report "Quota Exceeded" through notification
 
 
Q