Связки и пакеты

Иногда ветвящиеся файлы являются не самым эффективным решением для скрытия данных, в особенности если имеется множество связанных файлов, которые требуется скрыть. Вместо создания новой технологии контейнеров Apple просто модифицировала существующий контейнер файловой системы - обычную папку. Связки (bundles) и пакеты (packages) - это ни что иное как обычные папки, которые содержат связанные программное обеспечение и ресурсы. Это позволяет разработчикам программного обеспечения легко организовать все ресурсы, необходимые для сложного продукта, в один пакет или связку и не давать обычным пользователям обращаться к этим ресурсам.

Связки и пакеты используют одну и ту же технику объединения ресурсов внутри специальных папок. Разница заключается в том, что Finder рассматривает пакеты как непрозрачные объекты, в которые по умолчанию пользователи не могут переходить. Например, там, где пользователь видит в Finder только один значок, представляющий приложение, в действительности находится папка, заполненная, возможно, тысячами ресурсов. Слово «пакет» также используется для описания архивных файлов, используемых приложением установки для инсталляции программного обеспечения, то есть пакетов установки. Это оправдано, поскольку пользователи не могут по умолчанию переходить к содержимому пакета установки, так как Finder отображает его как один непрозрачный объект. Начиная с Mac OS X 10.5, компания Apple стала поддерживать создание полностью прозрачных пакетов установки, в которых все содержимое находится внутри одного файла, что не позволяет пользователям случайно отобразить содержимое установки.

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

Связки или пакеты программного обеспечения часто включают:

► исполняемый код для нескольких платформ;

► файлы с описаниями;

► мультимедиа-ресурсы, такие как изображения и звуковые файлы;

► файлы описания интерфейса пользователя;

► текстовые ресурсы;

► ветви ресурсов;

► ресурсы, локализованные для конкретных языков;

► частные программные библиотеки и инфраструктуры;

► подключаемые модули или другое программное обеспечение для расширения возможностей.

Несмотря на то что Finder по умолчанию скрывает содержимое пакета, его все же можно просмотреть. Для доступа к содержимому пакета в Finder щелкните на объекте, который требуется исследовать, правой или левой кнопкой мыши, удерживая нажатой клавишу [ Control |, а затем выберите команду Показать содержимое пакета (View Package Contents) из контекстного меню. (Этот способ использовался в уроке 1 для обращения к образу установочного диска внутри приложения Установка Mac OS X Lion [Install Mac OS X Lion].)

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

Дополнительная информация. Инструменты для создания и модификации пакетов и связок включены в состав дополнительного пакета Xcode Developer Tools, который находится в Mac Арр Store.