Application bundles are directory hierarchies, with the top-level directory having a name that ends with a .app extension. In a macOS application bundle, the first directory in the bundle underneath the top-level directory is usually named Contents. Within Contents there is usually another directory, called MacOS, which contains the application's executable code. The Contents folder contains a file named Info.plist, which contains application information, such as the software vendor's name, name of the files that contain the applications executable and icon, the version of the application, permissions requested, etc. Within the Contents folder there is usually also a directory called Resources, which contains the resources of the application. Among other things, the Resources folder contains localized versions of the application's
nib files. Other common subdirectories include PlugIns, Frameworks, _CodeSignature and Shared Frameworks. The Frameworks directory contains frameworks used by the application, and are used even if another version of the framework exists on the system. The Shared Frameworks directory contains frameworks that can be used both by the application that contains them, and other applications; they are used only if a newer version does not exist elsewhere on the system. PlugIns contains extensible code used by the application. The _CodeSignature folder contains information used by the system to validate that the package to establish that the package originates from a trusted party, and has not been tampered with. By default, the
Finder displays application bundles, which can also be referred to as
packages, as opaque files with no underlying structure; the contents of the bundle can be shown with the "Show Package Contents"
context menu item. GNUstep by default uses the name of the application to name the folder that contains application code. An alternative is to name them by the computer architecture and OS the code is intended for to form a
fat binary, so the application can be opened on many platforms. ==macOS framework bundles==