Пакет (macOS)
-
Основы пакетов в macOS и GNUstep
- Пакеты в NeXTSTEP, OPENSTEP и их потомках представляют собой файловые каталоги с определенной структурой и расширением.
- Пакеты содержат исполняемый код, ресурсы и метаданные.
- В Windows и старых Macintosh метаданные могут быть добавлены к ресурсам.
-
Пакеты приложений в macOS
- Пакеты приложений имеют иерархию каталогов с расширением .app.
- В macOS первый каталог в пакете называется Contents, содержит Info.plist с информацией о приложении и Resources с ресурсами.
- В Contents также могут быть каталоги Frameworks, Shared Frameworks, Plugins и _CodeSignature.
- Finder отображает пакеты приложений как непрозрачные файлы, но можно отобразить их содержимое.
- GNUstep использует имена приложений для папок с кодом.
-
Пакеты платформы macOS framework
- Фреймворки macOS также хранятся в виде пакетов с расширением .framework.
- В пакете фреймворков есть каталог версий с кодом динамической библиотеки и другими вложенными папками.
- Finder отображает пакеты фреймворков как каталоги.
- GNUstep обычно не хранит фреймворки в виде пакетов из-за их семантики загрузки.
-
Загружаемые пакеты
- Загружаемые пакеты содержат код, который может быть загружен во время выполнения.
- Они имеют расширение .bundle и часто используются как плагины.
- macOS позволяет загружать пакеты даже в приложения, которые их не поддерживают.
- Finder отображает загружаемые пакеты как непрозрачные файлы.
-
Другие форматы пакетов
- Существуют приложения, использующие собственные форматы пакетов, такие как CandyBar .IContainer и Aperture .aplibrary.
- Файл .lproj содержит файлы локализации для OpenStep, macOS и GNUstep.
-
Рекомендации и внешние ссылки
- Ссылки на руководство по программированию пакетов в Apple Developer Connection и документацию NSBundle из проекта GNUstep.
- Упоминание инструмента Platypus для создания пакетов приложений на основе скриптов.
- Информация о расширении файла.