Property List Key

CFBundleIdentifier

A unique identifier for a bundle.

Required.

Details

Name
Bundle identifier
Type
string

Discussion

A bundle ID uniquely identifies a single app throughout the system. The bundle ID string must contain only alphanumeric characters (A-Z, a-z, 0-9), hyphen (-), and period (.). The string should be in reverse-DNS format. Bundle IDs are case sensitive.

The operating system uses the bundle ID to identify the app for which a given preference applies. Similarly, Launch Services uses the bundle ID to locate an app capable of opening a particular file, using the first app it finds with the given identifier. The bundle ID is also used to validate an app’s signature.

macOS Apps Considerations

A macOS app can’t share the same bundle ID with other types of apps, such as iOS and tvOS apps.

macOS Versions of iPad Apps Considerations

For macOS versions of an iPad app, the macOS bundle ID is derived from the iOS bundle ID. To learn more, see About the Mac version of an iPad app bundle ID.

tvOS Apps Considerations

For tvOS apps that share the App Store Connect record of an iOS app, the tvOS app must have the same bundle ID as the iOS app.

watchOS Apps Considerations

For watchOS apps, the embedded WatchKit app and WatchKit extension targets must have the same bundle ID prefix as the iOS app. The WatchKit app must have the format [Bundle ID].watchkitapp, and the WatchKit extension must have the format [Bundle ID].watchkitextension.

If you change the iOS app's bundle ID, also change the WatchKit app's WKCompanionAppBundleIdentifier key and the WatchKit extension's WKAppBundleIdentifier key to match.

See Also

Core Foundation

property list key CFAppleHelpAnchor

The name of the bundle’s HTML help file.

Name: Help file
property list key CFBundleAllowMixedLocalizations

A Boolean value that indicates whether the bundle supports the retrieval of localized strings from frameworks.

Name: Localized resources can be mixed
property list key CFBundleDevelopmentRegion

The default language and region for the bundle, as a language ID.

Name: Localization native development region
property list key CFBundleDisplayName

The user-visible name for the bundle; used by Siri and visible on the iOS Home screen.

Name: Bundle display name
property list key CFBundleDocumentTypes

The document types supported by the bundle.

Name: Document types
property list key CFBundleExecutable

The name of the bundle’s executable file.

Name: Executable file
property list key CFBundleHelpBookFolder

The name of the folder containing the bundle’s help files.

Name: Help Book directory name
property list key CFBundleHelpBookName

The name of the help file that will be opened in Help Viewer.

Name: Help Book identifier
property list key CFBundleIconFile

The file containing the bundle's icon.

Name: Icon file
property list key CFBundleIconFiles

The names of the bundle’s icon image files.

Name: Icon files
property list key CFBundleIconName

The name of the asset that represents the app icon.

Name: Icon Name
property list key CFBundleIcons

Information about all of the icons used by the app.

Name: Icon files (iOS 5)
property list key CFBundleAlternateIcons

Information about alternate app icons that can be used by the app.

property list key CFBundleInfoDictionaryVersion

The current version of the Information Property List structure.

Name: InfoDictionary version
property list key CFBundleLocalizations

The localizations handled manually by your app.

Name: Localizations
property list key CFBundleName

A user-visible short name for the bundle.

Name: Bundle name
property list key CFBundlePackageType

The type of bundle.

Name: Bundle OS Type code
property list key CFBundleShortVersionString

The release or version number of the bundle.

Name: Bundle versions string, short
property list key CFBundleSpokenName

A replacement for the app name in text-to-speech operations.

Name: Accessibility Bundle Name
property list key CFBundleURLTypes

A list of URL schemes (http, ftp, and so on) supported by the app.

Name: URL types
property list key CFBundleVersion

The version of the build that identifies an iteration of the bundle.

Name: Bundle version
property list key CFPlugInDynamicRegisterFunction

The function to use when dynamically registering a plug-in.

Name: Plug-in dynamic registration function name
property list key CFPlugInDynamicRegistration

A Boolean value indicating whether the host loads this plug-in.

Name: Plug-in should be registered dynamically
property list key CFPlugInFactories

The interfaces supported by the plug-in for static registration.

Name: Plug-in factory interfaces
property list key CFPlugInTypes

One or more groups of interfaces supported by the plug-in for static registration.

Name: Plug-in types
property list key CFPlugInUnloadFunction

The name of the function to call to unload the plug-in code from memory.

Name: Plug-in unload function name
property list key CSResourcesFileMapped

A Boolean value indicating whether the app's resources files should be mapped into memory.

Name: Resources should be file-mapped