Мне нравится CloudKit по многим причинам:Могут ли пользователи редактировать свои личные данные в CloudKit
- подход, основанный тянуть, делает меня уверенным, что я получаю самые последние данные;
- В отличие от хранилища ключей iCloud данные CloudKit никогда не стираются после того, как пользователь удалил приложение с его устройств.
При всей этой красоте данные также передаются между устройствами одного и того же пользователя без каких-либо логинов и управления пользователями, о которых я должен заботиться.
Есть много случаев, когда я могу их использовать, некоторые из них ретранслируют по факту, что данные доступны только для приложения и не могут быть изменены или скопированы пользователем. Например, это может быть потребление в приложениях, чтобы я мог хранить все покупки в CloudKit, и они будут доступны для разных устройств одного и того же пользователя.
Так фактический вопрос:
Может ли пользователь без взломанного устройства какого-то образом изменить свои данные CloudKit вне приложения?
Я считаю, что побег из тюрьмы позволит ему делать много вещей, включая замену методов CloudKit, но как насчет обычных пользователей?
Шифрование может быть решением для защиты данных, но оно не защищает от копирования данных, например, пользователь может делиться своими записями с другим пользователем и что другой пользователь получит то, что он не должен иметь.
Это швы, что яблоко проявило большую заботу, чтобы сделать это невозможным. Я прослушал связь между устройством и CloudKit и обнаружил, что они используют protobuf для связи, который открывается стандартным, но не всеобъемлющим без определения сообщений. Также мне кажется, что каждый запрос подписан, используя текущее время и идентификатор запроса. Тем не менее, все это только мои догадки, и, вероятно, есть много способов его работы.