Различные разрешения для нескольких приложений в CoreData через группы приложений - PullRequest
0 голосов
/ 11 декабря 2018

В настоящее время я создаю два приложения, которые совместно используют объекты данных в одном и том же контейнере CoreData с помощью одной и той же группы приложений (это работает).

Моя текущая цель - получить различные разрешения для этих данных.Чтобы было понятнее, рассмотрим эти два приложения, как Admin-App и User-App, оба имеют доступ к одним и тем же данным, но User-App должен иметь доступ только к ограниченному выбору атрибутов объекта.

Что быбыть разумным подходом к этой проблеме?Я уже думал об этом, что привело к следующим подходам:

  1. Два контейнера и многократное сохранение данных
  2. Просто обращайтесь к открытому доступу User-App как разработчикамиз используемой группы приложений должны знать, как обращаться со своими данными.

Заранее спасибо!

1 Ответ

0 голосов
/ 11 декабря 2018

В iOS нет ничего, что могло бы навязать вам такие ограничения.Если папка группы приложений доступна для приложения, этому приложению разрешено читать и записывать что-либо в этой папке.

Простой ответ: если вы пишете оба приложения, напишите их в соответствии с вашей политикой длякакие данные доступны для чтения или записи с помощью какого приложения.

Более сложный ответ, если по какой-то причине это неприемлемо, состоит в том, чтобы приложение администратора сохранило некоторые данные в своем собственном контейнере, а некоторые - в группе приложений.Вы по-прежнему можете использовать личный контейнер приложения, даже если у вас также есть группа.Это означает, что приложение администратора должно знать, какие данные помещать в какой контейнер, что может быть сложным или нет, в зависимости от того, какие данные у вас есть и как ваши приложения используют их.Однако нет никаких причин, по которым приложение администратора не может иметь свои собственные личные данные.

Core Data имеет некоторую поддержку для этого подхода.Вы можете загрузить более одного файла постоянного хранилища одновременно, и Core Data представит их как единое унифицированное хранилище данных.С чтением данных легко справиться.Для записи данных это становится немного сложнее, потому что каждый раз, когда вы добавляете данные, вам нужно указать Core Data, какой файл использовать.Это не очень сложно, но потребуется больше работы и больше исследований, чтобы понять, что вы делаете.

...