Was ist der Unterschied zwischen einem Paket und einem Bundle?

Ich sehe anscheinend die Wörter Paket und Bündel, die in der Apple-Dokumentation austauschbar verwendet werden und sich auf einen speziellen Ordner im Dateisystem beziehen, den der Benutzer als Dokument (iWork Pages-Dokument) oder Anwendung (Pages.app) sieht. Ich weiß, dass man den Inhalt eines Pakets oder Bündels anzeigen kann, indem man mit der rechten Maustaste auf eine dieser speziellen Dateien klickt und auf Show Package Contents. Was mir nahelegt, dass es sich bei beiden um eine Art Paket handelt. Ist ein Bundle also eine spezielle Art von Paket?

Antworten (2)

Aus Apples Bundle Programming Guide

Obwohl Bündel und Pakete manchmal synonym bezeichnet werden, stellen sie tatsächlich sehr unterschiedliche Konzepte dar:

Ein Paket ist ein beliebiges Verzeichnis, das der Finder dem Benutzer präsentiert, als wäre es eine einzelne Datei.
Ein Bundle ist ein Verzeichnis mit einer standardisierten hierarchischen Struktur, das ausführbaren Code und die von diesem Code verwendeten Ressourcen enthält.

Auch

Der Finder betrachtet ein Verzeichnis als Paket, wenn eine der folgenden Bedingungen zutrifft:

Das Verzeichnis hat eine bekannte Dateinamenerweiterung: .app, .bundle, .framework, .plugin, .kext und so weiter.
Das Verzeichnis hat eine Erweiterung, die einige andere Anwendungsansprüche für einen Pakettyp darstellen; siehe Dokumentenpakete.
Das Paketbit des Verzeichnisses ist gesetzt.

In Code mit Bündeln und Paketen wird von derselben NSBundle-Klasse manipuliert

Ein Paket und ein Bündel haben/hatten eine ähnliche Struktur. Ein Paket ist eine "Datei", die vom OSX-Installer bearbeitet wird. Heutzutage wurden Pakete zu einem xar-Archiv flachgelegt. Pakete sind auch "Dateien", die von einigen Apple-Anwendungen erstellt werden, wobei die Datei eigentlich ein Verzeichnis mit mehreren unterstützenden Dateien ist. Ein Bundle enthält ausführbaren Code, eine Anwendung (.app) ist ein Bundle. Plugins sind auch Bundles.