"Песочница" приложения
Списки свойств, архивы объектов, SQLite3 и Core Data — не единственные возможности сохранения данных в iOS-устройствах. Просто это — самые популярные и простые. У вас всегда есть возможность использовать для считывания и записи данных такие традиционные С-функции ввода-вывода, как fopen (). Можете также прибегнуть к низкоуровневым инструментам управления файлами, предоставляемым технологией Cocoa. Однако почти во всех случаях это приведет к увеличению объемов кодирования, которое редко удается оправдать.
Все четыре механизма обеспечения персистентности данных, рассматриваемые в этой главе, используют один общий (очень существенный) элемент; папку /Documents вашего приложения. У каждого приложения есть собственная папка /Documents, и приложениям разрешается при чтении и записи использовать только ее.
Для более предметного разговора рассмотрим, как приложения организованы в системе iOS. Откройте окно Finder и перейдите к своему главному каталогу (home directory), а затем — к Library/Application Support/iPhone Simulator/. В этом каталоге вы увидите подкаталог для каждой версии системы iOS, поддерживаемый текущей инсталляцией среды Xcode. . Перейдите к каталогу, представляющему последнюю версию системы iOS, которую поддерживает ваша версия среды Xcode. Вы должны увидеть четыре вложенные папки, в том числе и папку Applications.
Несмотря на то что этот список представляет симулятор, файловая структура подобна той, которая реализована в реальном устройстве. Очевидно, именно в папке Applications система iOS и хранит свои приложения. Если вы откроете папку Applications, то увидите набор папок и файлов, имена которых представляют собой длинные строки символов. Эти имена являются глобально уникальными идентификаторами (GUID), которые автоматически генерируются средой Xcode. Каждая из этих папок содержит одно приложение и поддерживающие его папки.
Если открыть одну из вложенных папок приложения, вы увидите знакомую картину, а именно: одно из созданных вами iOS-приложений и три поддерживающие папки.
Documents. Ваше приложение сохраняет свои данные в папке Documents, за исключением настроек, обслуживаемых на базе класса NSUserDefaults. Library. Настройки, обслуживаемые на базе класса NSUserDefaults, хранятся в папке Library/Preferences.
Каталог tmp — это место, в котором ваше приложение может хранить временные файлы. Файлы, которые содержатся в папке / tmp, не будут подлежать резервному копированию медиаплеером iTunes в режиме синхронизации, но ваше приложение должно нести ответственность за удаление уже ненужных файлов в каталоге /tmp, чтобы избежать перегрузки файловой системы.
- Дата: 26-12-2014, 21:16