Cloudkit issue with private database and subscription?

Problem

Bob iPhone saves recordA to someZone in Bob's private database.

Bob iPad receives a subscription change notification and relays recordA from someZone to a user-private database.

Bob iPod touch also receives a subscription change notification and retrieves recordA from someZone in a user-private database.

Bob iPad deletes recordA in someZone in the user's private database.

Bob iPod touch and iPad (for some reason) are notified of the unsubscription. Bob iPhone does not receive subscription notifications.

Expected results

The iPad Bob should not receive notification of exception notification. Only Bob iPhone and iPod touch should receive a subscription.

This is stated in the CKS subscription documentation:

When a record change causes a subscription to fail, the server sends push notifications to all devices with this signature except for those that made the initial change to the record.

The iPad did a deletion, so the iPad should not receive a subscription notification.

Actual Results

The iPad is notified of the exception notification, even though the author of the original change to the entry.

iPhone does not receive a notification of removal.

iPod touch receives a subscription removal notification.

Additional Feedback

It seems that the original author of the record (and not the original author of change ) does not receive any notifications, regardless of who deleted the record. This is not consistent with the documentation.

+5
source share
1 answer

This is a known CloudKit bug. However, there is a workaround for this. When you first touch a record by making a small change and then delete the record, it will work as described.

+5
source

Source: https://habr.com/ru/post/1208489/


All Articles