Answered Nov 04, 2015 · 73 votes
What is the difference between the app ID and the bundle ID?
Because most people think of the App ID as a string, they think it is interchangeable with Bundle ID. It appears this way because once the App ID is created in Member Center you only ever use the App ID Prefix which matches the Bundle ID of the Application Bundle
Where is the app ID in the Xcode project?
You don't find the App ID in Xcode. It is an object (not just a string) in Member Center. Xcode is where the Bundle ID is found. It is specified when creating a new project. (screenshot below) Each Target in a project will have a unique Bundle ID. It can be found/changed by selecting the project in the Project Navigator the choosing the Target and either General or Info from the Jump Bar.
The Xcode interface is described here or here (depending on how Apple is feeling that day).
What is the use of the bundle ID?
It uniquely defines each App. It is specified in Xcode. A single Xcode project can have multiple Targets and therefore output multiple apps. A common use case for this is an app that has both lite/free and pro/full versions or is branded multiple ways.
Sometimes you are shown this instead of the App ID, or a dropdown is sorted by this App ID
(I always make this the same as the App ID with the dots changed to spaces)
Select from a list of available hashes in the Team ID format (see below)
You pretty much always want to select the one labeled "(Team ID)"
A reverse-domain name style string
This must match the Bundle ID specified in Xcode
Describes an App ID with an App ID Suffix that contains no wildcards
Can only be associated with a single app (by exactly matching a Bundle ID)
Compatible with all App Services
Describes an App ID with an App ID Suffix that ends with an asterisk
Can be associated with multiple apps (matched similar to CLI/bash shell wildcard matching)
Not compatible with Game Center, In-App Purchase, or Push Notifications App Services
- App ID Think of this as an object in Member Center with lots of metadata including: App ID DescriptionApp ID PrefixApp ID SuffixApp Services
- App ID DescriptionAlphanumeric plus spacesSometimes you are shown this instead of the App ID, or a dropdown is sorted by this App ID(I always make this the same as the App ID with the dots changed to spaces)
- App ID PrefixSelect from a list of available hashes in the Team ID format (see below)You pretty much always want to select the one labeled "(Team ID)"
- App ID SuffixA reverse-domain name style stringThis must match the Bundle ID specified in Xcode
- Explicit App IDDescribes an App ID with an App ID Suffix that contains no wildcardsCan only be associated with a single app (by exactly matching a Bundle ID)Compatible with all App Services
- Wildcard App IDDescribes an App ID with an App ID Suffix that ends with an asteriskCan be associated with multiple apps (matched similar to CLI/bash shell wildcard matching)Not compatible with Game Center, In-App Purchase, or Push Notifications App Services
A 10 character alphanumeric hash
Unique to every Developer Account (as in the account that costs $99/yr, not every developer on the account)
A unique integer assigned by Apple when an app is first created in iTunes Connect.
A reverse-domain name style string
Uniquely identifies an Application Bundle on a device or simulator
Must have a matching App ID registered with Apple in order to deploy
Used to distinguish app updates vs. new apps
The result of the Build process in Xcode. Though it has an extention of .ipa it is a zip file. The content is a very specific directory structure and holds everything the App needs. It looks like someone took a Mac .app file from /Applications, put in a directory named Payload, zipped it, then change the extension.
Every Xcode project has at least 1 target. Each target specifies an app that can be built from the project.
Apple allows you to store a Stock Keeping Unit string (alphanumeric, cannot have spaces) for each app in iTunes Connect. Apple doesn't do anything with this except display it on reports generated for your record keeping.
- App ServicesA combination of Data ProtectionGame CenteriCloudIn-App PurchaseInter-App AudioPassbookPush Notifications
- Team IDA 10 character alphanumeric hashUnique to every Developer Account (as in the account that costs $99/yr, not every developer on the account)
- Apple IDA unique integer assigned by Apple when an app is first created in iTunes Connect.
- Bundle IDA reverse-domain name style stringDefined in XcodeUniquely identifies an Application Bundle on a device or simulatorMust have a matching App ID registered with Apple in order to deployUsed to distinguish app updates vs. new apps
- Application BundleThe result of the Build process in Xcode. Though it has an extention of .ipa it is a zip file. The content is a very specific directory structure and holds everything the App needs. It looks like someone took a Mac .app file from /Applications, put in a directory named Payload, zipped it, then change the extension.
- TargetEvery Xcode project has at least 1 target. Each target specifies an app that can be built from the project.
- SKUApple allows you to store a Stock Keeping Unit string (alphanumeric, cannot have spaces) for each app in iTunes Connect. Apple doesn't do anything with this except display it on reports generated for your record keeping.