Я работаю над тем, как обрабатывать общий доступ к CloudKit и подписки на базы данных, и мне нужна помощь, чтобы понять, как Apple планирует использовать вместе подписки и общий доступ к CloudKit, учитывая имеющиеся у нас свойства и методы делегирования.
Этот поток очень похож, но не привносит в уравнение совместное использование и немного отличается по функциональности от того, что я настроил.
Настройка сабвуферов - самая простая часть. Если нет подписки, настройте ее. И если владелец перестает делиться, есть метод делегата, который вызывается, так что вы можете просто удалить все подпрограммы, кроме своих. Моя проблема возникает, когда участник покидает акцию. Подписка, связанная с этим человеком, должна быть удалена, но теперь у него нет доступа к общей базе данных, чтобы сделать это. И я не вижу способа связать подписку с идентификатором участника. Единственный способ понять, как это сделать - это то, что упоминается в этом другом потоке. Создайте новый Subscription recordType, который индексирует идентификатор участника для идентификатора подписки.
Концептуально я имел это задом наперед и предполагал, что каждый пользователь будет нести ответственность за свои собственные сабвуферы. Использование нового recordType переворачивает это, так что владелец ресурса отвечает за все сабы.
Это действительно способ сделать это? Любой, кто использует общий доступ, сталкивается с этим, поэтому я подумал, что должен быть какой-то способ справиться с этим без создания другого recordType?