2014-09-24 8 views
0

Я начинаю исследовать расширения iOS 8, и я вижу, что группы приложений - это механизм, предоставляемый для передачи данных между хост-приложением и расширением. Этот обмен данными может быть выполнен с помощью NSUserDefaults, плоских файлов и основных данных. Когда вы настраиваете группу приложений, на устройстве/симуляторе создается новый каталог, который находится за пределами изолированной программной среды приложения. Доступ к этому каталогу можно получить из хост-приложения и расширения, и похоже, что другие приложения из той же учетной записи/команды могут также получить доступ к этому каталогу.Каков ожидаемый жизненный цикл каталогов групп приложений iOS 8?

Учитывая все это, я хотел бы знать, что такое жизненный цикл каталога общих групп приложений и его содержимого. Я не смог найти документацию Apple, объясняющую это. Некоторые эмпирические тесты на симуляторе показали, что, когда установлено более одного приложения, которое обращается к группе приложений, каталог удаляется, когда последнее приложение, имеющее это право на группу приложений, удаляется. Это то, что я ожидал увидеть. Я хотел бы получить подтверждение, что это так. Кроме того, есть ли потенциал для очистки системы этого места в условиях низкого диска?

Я пытаюсь определить, является ли «безопасным» для хранения базы данных основных базовых данных моего приложения в этом местоположении группы приложений или если я должен делать копии данных там. Я не хочу, чтобы моя основная база данных неожиданно исчезла из-под меня из-за меня.

Кроме того, что является целью каталогов группы приложений? Должны ли они использоваться для совместного использования данных только с расширениями или они предназначены как общий механизм обмена данными между приложениями из той же самой учетной записи/группы разработчиков?

ответ

1

Я также разместил это на форумах Apple Dev и получил ответ от кого-то в отношениях разработчиков Apple. Вот что они сказали:

Есть ли потенциал для чистки этого места в условиях низкого диска?

Этого не произойдет.

Я пытаюсь определить, является ли это «безопасным» для хранения базы данных основных базовых данных моего приложения в этом месте группы приложений или если я должен делать копии данных там.

Размещение основного хранилища данных в каталоге группы приложений вполне разумно.

Также, что предназначает каталоги группы приложений?

Они там, чтобы наборы приложений могли совместно использовать данные. Я думаю, что это самое яркое выражение из документации Mac. «App Sandbox Design Guide» говорит:

[...] приложение может использовать com.apple.security.application-группы право запросить доступ к общему контейнеру, который является общим для нескольких приложений, производимых той же командой разработчиков. Этот контейнер предназначен для контента, не ориентированного на пользователя, такого как общие кэши или базы данных.

Documentation