A unique identifier for a bundle.
- iOS 2.0+
- macOS 10.0+
- tvOS 9.0+
- watchOS 2.0+
- Core Foundation
- Bundle identifier
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.