Jump to content

Пакет (macOS)

Пучок
Расширение имени файла
.app, .framework, .kext, .plugin, .docset, .xpc, .qlgenerator, .comComponent, .saver, .mdimporter и т. д.
Единый идентификатор типа (UTI) com.apple.bundle
Контейнер для исполняемый двоичный файл , метаданные , другие пакеты и любой другой файл, необходимый для запуска приложения.

В NeXTSTEP , OPENSTEP и их прямых потомках macOS , iOS , iPadOS , tvOS и watchOS , а также в GNUstep пакет представляет собой файловый каталог с определенной структурой и расширением файла, позволяющий группировать связанные файлы вместе как концептуально единый элемент. .

Примеры пакетов, содержащих исполняемый код, включают приложения , платформы и плагины . Этот тип пакета обычно содержит один файл, представляющий исполняемый код, и файлы, представляющие такие ресурсы, как перья , шаблоны, изображения, звуки и другие медиафайлы. В некоторых других системах, таких как Microsoft Windows , эти ресурсы обычно включаются непосредственно в сам исполняемый файл во время компиляции. На старых Macintosh используется аналогичный метод, при котором дополнительные метаданные файла можно добавлять в вилку ресурса . Аналогичными по концепции являются каталоги приложений , используемые в ОС RISC и на рабочем столе ROX .

Примеры пакетов, не содержащих исполняемый код, включают пакеты документов ( документы iWork ) и медиа-библиотеки ( библиотека iPhoto ).

Доступ к пакетам осуществляется программно с помощью NSBundle класс в платформах Cocoa , NeXTSTEP и GNUstep Foundation , а также с CFBundle в Core Foundation . В комплекты часто входит Информация. plist- файл для метаданных. [1] Единый идентификатор типа (UTI) для пакета Apple: com.apple.bundle. [2]

Пакеты приложений [ править ]

Пакет приложений
Расширение имени файла
.приложение
Единый идентификатор типа (UTI) com.apple.application-bundle
Тип формата прикладное программное обеспечение
Контейнер для исполняемый двоичный файл
Расширено с Пучок

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

В пакете приложений macOS первый каталог в пакете под каталогом верхнего уровня обычно называется Contents. В пределах Contents обычно существует еще один каталог, называемый MacOS, который содержит исполняемый код приложения. Contents папка содержит файл с именем Info.plist, который содержит информацию о приложении, такую ​​как имя поставщика программного обеспечения, имя файлов, содержащих исполняемый файл и значок приложения, версию приложения, запрошенные разрешения и т. д. Contents папка обычно также имеет каталог под названием Resources, который содержит ресурсы приложения. [3]

Среди прочего, Resources приложения Папка содержит локализованные версии файлов пера .

Другие распространенные подкаталоги включают в себя Plugins, Frameworks, _CodeSignature и Shared Frameworks. Frameworks Каталог содержит платформы, используемые приложением, и используются, даже если в системе существует другая версия платформы. Shared Frameworks каталог содержит фреймворки, которые могут использоваться как приложением, которое их содержит, так и другими приложениями; они используются только в том случае, если более новая версия не существует где-либо еще в системе. Plugins содержит расширяемый код, используемый приложением. _CodeSignature Папка содержит информацию, используемую системой для проверки того, что пакет исходит от доверенной стороны и не был подделан.

По умолчанию Finder отображает пакеты приложений, которые также можно называть пакетами , как непрозрачные файлы без базовой структуры; содержимое пакета можно отобразить с помощью пункта контекстного меню «Показать содержимое пакета» .

GNUstep по умолчанию использует имя приложения для обозначения папки, содержащей код приложения. Альтернативный вариант — назвать их по архитектуре компьютера и ОС, для которой предназначен код, чтобы сформировать « толстый» двоичный файл , чтобы приложение можно было открыть на многих платформах. [4] [5]

Пакеты фреймворков macOS [ править ]

Пакет фреймворков
Расширение имени файла
.рамки
Единый идентификатор типа (UTI) com.apple.framework
Расширено с пучок

Фреймворки macOS также хранятся в виде пакетов; [6] каталог верхнего уровня пакета фреймворка имеет имя, которое представляет собой имя фреймворка, за которым следует расширение .framework. В каталоге верхнего уровня находится Versions каталог с подкаталогами для одной или нескольких версий платформы, причем каждый подкаталог содержит код динамической библиотеки для платформы, в файле, имя которого совпадает с именем платформы, возможно, с Headers папка, содержащая файлы заголовков для платформы, и другие подпапки, такие как Resources. Versions каталог также содержит символическую ссылку Current в каталог текущей версии фреймворка. В каталоге верхнего уровня находятся символические ссылки на содержимое Versions/Current. [7]

Finder отображает пакеты фреймворка как каталоги , а не как непрозрачные файлы.

Хотя GNUstep использует платформы, они обычно не хранятся в виде пакетов. Это связано с тем, что полная семантика загрузки фреймворка считается слишком чуждой другим платформам. [8]

Загружаемые пакеты [ править ]

Загружаемые пакеты — это пакеты, содержащие код, который можно загрузить во время выполнения. [9] Загружаемые пакеты обычно имеют расширение .bundleи чаще всего используются в качестве плагинов . В macOS есть способ загружать пакеты даже в приложения, которые их не поддерживают, что позволяет сторонним хакам использовать популярные приложения, такие как Safari. [10] и Apple Mail . [11] [12] Функция, унаследованная от NeXTSTEP, GNUstep имеет -[NSBundle principalClass] интерфейс тоже.

По умолчанию Finder отображает загружаемые пакеты, которые также можно называть пакетами , как непрозрачные файлы без базовой структуры; содержимое пакета можно отобразить с помощью пункта контекстного меню «Показать содержимое пакета» .

Другие форматы пакетов [ править ]

Существует множество приложений macOS, которые используют собственный формат пакета (например, CandyBar .iContainer, Диафрагма .aplibrary, VMware Fusion .vmwarevm, и т. д.).

.lproj [ править ]

Файл .lproj  — это пакет, содержащий файлы локализации для программного обеспечения OpenStep, macOS или GNUstep. Обычно он содержит .nib файлы для данного языка вместе с .strings файлы и изображения при необходимости (например, ReadMe или файлы лицензий). Эти локализованные файлы используются создателями установщиков для настройки установочных пакетов. Они также включены в пакет приложений.

См. также [ править ]

Ссылки [ править ]

  1. ^ «Список информационных свойств — ресурсы пакета» . Документация разработчика Apple .
  2. ^ «Объявленные системой унифицированные идентификаторы типов» . Справочник по унифицированным идентификаторам типов . Apple Inc. Проверено 10 июня 2012 г.
  3. ^ «Пакетные структуры» . Руководство по программированию пакетов . Apple Inc. 27 марта 2017 г. Пакеты приложений.
  4. ^ «PackagingDrafts/GNUstep» . Вики проекта Fedora .
  5. ^ "gnustep/tools-make: README.Packaging" . Гитхаб . 5 декабря 2021 г.
  6. ^ "Рамки" . разработчик.apple.com . Проверено 6 октября 2020 г.
  7. ^ «Пакетные структуры» . Руководство по программированию пакетов . Apple Inc. 27 марта 2017 г. Анатомия пакета фреймворка.
  8. ^ «Часто задаваемые вопросы для пользователей» . GNUшаг .
  9. ^ Темы по программированию загрузки кода для Cocoa: о загружаемых пакетах
  10. ^ «Прокачай мое Safari: плагины» . Архивировано из оригинала 31 октября 2007 г.
  11. ^ «Плагины и инструменты Apple Mail» . Архивировано из оригинала 8 марта 2009 г. Проверено 4 ноября 2007 г.
  12. ^ «Hawk Wings — Плагины для Apple Mail» . Архивировано из оригинала 31 августа 2007 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d106a32fb3dfe6b41a751f8e6e4d5de0__1710306600
URL1:https://arc.ask3.ru/arc/aa/d1/e0/d106a32fb3dfe6b41a751f8e6e4d5de0.html
Заголовок, (Title) документа по адресу, URL1:
Bundle (macOS) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)