Каталог документов iPhone и UIFileSharingEnabled, скрывающие определенные документы - PullRequest
5 голосов
/ 31 мая 2010

Я хочу, чтобы пользователь мог получить доступ к файлам в каталоге документов, но я использую основные данные и не хочу, чтобы пользователь имел возможность доступа к хранилищу (sqllite db), могу ли я скрыть его от пользователя, пока еще разрешить общий доступ к файлам, или я могу поместить его в другой каталог, в который все равно будет сохранено резервное копирование?

Ответы [ 2 ]

14 голосов
/ 02 июня 2010

Ответ, данный FrenchKiss Dev, неверен. Пользователь по-прежнему сможет просматривать каталог «.data» в iTunes и сохранять его локально со всеми файлами внутри него.

Вместо этого храните личные документы в Library/Preferences

По Apple :

В дополнение к каталогам, задокументированным ранее, весь / Каталог библиотеки всегда сохранялся во время обновления и резервные копии, кроме / Library / Caches. Из-за этого приложения могут создавать свои собственные каталоги в / Библиотека / и эти каталоги будут сохранены в резервные копии и через обновления. Чтобы минимизировать риск конфликтов имен, Мы рекомендуем вам тщательно назвать этот каталог. Например, Каталог под названием Private Documents был бы хорошим выбором. Вы должны храните любые файлы, которыми вы не хотите делиться, Library/Preferences.

2 голосов
/ 01 июня 2010

В каталоге документов создайте подкаталог, имя которого начинается с точки. Например:

.data

РЕДАКТИРОВАТЬ: Пожалуйста прекратить понижение этого ответа!
Этот ответ был верным в то время (помните, что это было до того, как iPad был фактически доступен! .
Сегодня (апрель 2012 г.) он все еще работает на Mac, но не на Windows (запуск имени каталога с точкой означает, что в Windows ничего не значит).

В любом случае, эта функция общего документа - беспорядок. Позже они исправили это, сказав, что «Личные документы» должны храниться в папке «Библиотека», а не в папке «Документы». Но помните, что разработчики уже использовали папку «Документ» до появления iPad.
Не вините меня за ошибки Apple.
Переполнение стека должно иметь возможность пометить ответ как устаревший.
API меняется, исправляется, и это делает ответы устаревшими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...