Обмен частными данными с помощью CloudKit
Есть ли простой способ совместного использования частных данных между двумя или более пользователями с помощью CloudKit?
Публичная и закрытая дата очевидны, но, похоже, нет возможности разрешить группе пользователей организовывать собственный силос для обмена данными между собой, не предоставляя его всем другим пользователям системы и разработчик приложения.
У меня есть приложение для академического сотрудничества, но самым простым примером может быть частная передача сообщений между двумя пользователями.
Я предполагаю, что можно попытаться создать систему шифрования с открытым ключом поверх CloudKit, чтобы добиться этого, но это не то, что я ищу, и будет плохо масштабироваться за пределами двух пользователей в каждой группе.
Ответы
Ответ 1
В WWDC 2016 Apple представила CKShare, в котором рассматривается этот прецедент. По состоянию на 13 июня 2016 года бета-API является общедоступным, но недокументированным. API совместного использования демонстрируется в видео WWDC 2016 Что нового в CloudKit, начиная с 19:57.
Ответ 2
Короткий ответ: ДА!
CloudKit Sharing был представлен на WWDC 2016. В разделе "Что нового в CloudKit" есть большой обзор: https://developer.apple.com/videos/play/wwdc2016/226/
Ответ 3
Технически да, вы можете делиться частными данными между двумя нашими больше пользователями с CloudKit. Хотя хранилище данных является общедоступным, это не означает, что каждый пользователь имеет доступ ко всему хранилищу. Ваш проект может контролировать доступ к частям публичной базы данных в каждом экземпляре приложения.
Разрабатывая приложение, которое использует общедоступную базу данных с уникальными идентификаторами для групп пользователей, и зоны, использующие CKRecordZoneNotification для управления уведомлениями, вы должны иметь возможность создать достаточно безопасное решение. Вы решаете, что разумно безопасно.
Здесь ссылка на Apple docs для CKRecordZoneNotification
Ответ 4
Использование общедоступной базы данных и шифрование общего содержимого будут работать. Может быть, не слишком весело, потому что тогда вам нужно будет делиться ключами шифрования.