Property List

Information Property List

A resource containing key-value pairs that identify and configure a bundle.

Discussion

Bundles, which represent executables of different kinds, contain an information property list file. This collection of key-value pairs specifies how the system should interpret the associated bundle. Some key-value pairs characterize the bundle itself, while others configure the app, framework, or other entity that the bundle represents. Some keys are required, while others are specific to particular features of the executable.

The information property list file always has the name Info.plist. The file name is case-sensitive and must begin with a capital letter I. Its location within the bundle depends on both the bundle type and the platform. For example, iOS app bundles store the file in the bundle’s root directory, whereas macOS app bundles place the Info.plist file in the Contents directory.

To access an information property list, you use an instance of the NSBundle class, which represents a bundle on disk. You can get the value for a few common keys by accessing properties of the bundle instance. For example, the bundleIdentifier property contains the value associated with the CFBundleIdentifier key. You can obtain the value for an arbitrary key using the objectForInfoDictionaryKey: method.

To create an information property list for a bundle, you typically rely on Xcode to prepare the file for your apps and other executable targets, as described in Managing Your App’s Information Property List.

Topics

Essentials

Managing Your App’s Information Property List

Create and customize an information property list file for your app using Xcode.

Core Settings

Bundle Configuration

Define basic characteristics of a bundle, like its name, type, and version.

User Interface

Configure an app's scenes, storyboards, icons, fonts, and other user interface elements.

App Execution

Control app launch, execution, and termination.

Services

Protected Resources

Control an app’s access to protected system services and user data.

Data and Storage

Regulate documents, URLs, and other kinds of data movement and storage.

App Services

Configure services provided by the app, like support for giving directions or using game controllers.