There are several essential properties that identify applications to users and to Mac OS X: application identifier, build version number, release version number, copyright notice, application name, and application-icon filename.
Without application identifiers, administrators would have to navigate to the location of each managed application, a relatively tedious task. The application-identifier property specifies a string Mac OS X uses to identify an application. This property does not identify a specific application bundle in the filesystem or a particular version of the application. In normal conditions, users don’t see application identifiers.
The application-identifier property is specified with the CFBundleIdentifier key in the Info.plist file.
Application identifiers are uniform type identifiers (UTIs) or reverse Domain Name System (DNS) names; that is, the top-level domain comes first, then the subdomains, separated by periods (.). There are two parts to an application identifier: the prefix and the base. The application-identifier prefix identifies the company or organization responsible for the application and is made up of two or more domains. The first prefix domain, or top-level domain, is normally com or org. The second domain is the name of the company or organization. Subsequent domains can be used as necessary to provide a narrower scope. Prefix domains use lowercase letters by convention. For example, Apple applications use application identifiers that start with com.apple.
The application-identifier base comprises a single domain, which refers to the application proper. This domain should use word capitalization, for example, AddressBook. See Uniform Type Identifiers Overview for more information about uniform type identifiers.
Mac OS X uses application identifiers to precisely refer to application bundles irrespective of their location on the filesystem. For example, some Mac OS X features, such as parental controls, use only application identifiers to refer to applications on a user’s computer. The Parental Controls preferences pane contains a list of application filenames, in which administrators select the applications for which a user is to have managed access, as shown in Figure 7-1.
The build-version-number property identifies an iteration of the application.
The build-version-number property is specified with the CFBundleVersion key in the Info.plist file.
The build version number is made up of a string of period-separated integers. Each integer must be equal to or greater than zero. For example, 55, 1.2, and 1.2.0.55, are all valid build version numbers.
Mac OS X uses the build version number to, for example, decide which version of an application to launch to open a file when there are multiple versions in the filesystem (as determined by their application identifiers). In such cases, Mac OS X launches the application bundle with the highest build version number. To ensure the accurate operation of this mechanism, you must adhere to one version-numbering style as you release new versions of your application. That is, if you publish your application for the first time using a multi-integer build version number, subsequent publicly available versions must use the same number of integers in their build version numbers.
The release-version-number property specifies the version information the Finder displays for the application. When you specify both a build version number and a release version number, the About window displays the release version number, followed by the build version number in parenthesis, as shown in Figure 7-2.
The release-version-number property is specified with the CFBundleShortVersionString key in the Info.plist file.
The release version number identifies a released iteration of the application. Similar to the build version number, the release version number is made up of a string of period-separated integers. However, you should specify no more than three integers for the release version number. By convention, the first integer represents major revisions to the application, such as revisions that implement new features or major changes. The second integer denotes revisions that implement less prominent features. The third integer represents maintenance releases.
The copyright-text property specifies the copyright notice for the application, for example, © 2007, My Company. This notice is shown to users in the About window of the application.
The copyright-notice property is specified with the NSHumanReadableCopyright key in the Info.plist file.
The application-name property specifies the title of the application menu in the menu bar when the application opens and the name of the application in its About window.
The application-name property is specified with the CFBundleName key in the Info.plist file.
The application-icon-filename property specifies the icon the Finder, the Dock, and the application’s About window display for the application.
The application-icon-filename property is specified with the CFBundleIconFile key in the Info.plist file.
An icon file contains one or more images that depict an application’s icon at various resolutions. These separate versions of an icon allow the Finder and the Dock to render icons as sharp as possible at different sizes. You create icon files using the Icon Composer application.
For further details on these and other application properties, see Runtime Configuration Guidelines.
Last updated: 2007-10-31