Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
195 views
in Technique[技术] by (71.8m points)

ios - What is the difference between the app ID and the bundle ID? Where is the app ID in the Xcode project?

In the pList file, there is a bundle ID of the form com.mycompany.myapp, but Apple also provides an app ID on the developer portal.

Thus, basically, what is the use of the bundle ID? Where can we find the app ID in the Xcode project?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Answers to OP Questions

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.

.


Definitions

  1. App ID

    Think of this as an object in Member Center with lots of metadata including:

    • App ID Description
    • App ID Prefix
    • App ID Suffix
    • App Services
  2. App ID Description

    Alphanumeric plus spaces

    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)

  3. App ID Prefix

    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)"

  4. App ID Suffix

    A reverse-domain name style string

    This must match the Bundle ID specified in Xcode

  5. Explicit App ID

    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

  6. Wildcard App ID

    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

  7. App Services

    A combination of

    • Data Protection
    • Game Center
    • iCloud
    • In-App Purchase
    • Inter-App Audio
    • Passbook
    • Push Notifications
  8. Team ID

    A 10 character alphanumeric hash

    Unique to every Developer Account (as in the account that costs $99/yr, not every developer on the account)

  9. Apple ID

    A unique integer assigned by Apple when an app is first created in iTunes Connect.

  10. Bundle ID

    A reverse-domain name style string

    Defined in Xcode

    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

  11. Application Bundle

    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.

  12. Target

    Every Xcode project has at least 1 target. Each target specifies an app that can be built from the project.

  13. SKU

    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.

.


Create Xcode iOS Project dialog in Xcode

Create Xcode iOS Project screenshot

.


Create App ID page in Member Center

Create App ID screenshot

.


App Information page in iTunes Connect

iTunes Connect screenshot


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...