Creating and Configuring App IDs

A figure shows that this chapter is part of Step 2 in the overall team admin workflow. App I D's are one part of a Development Provisioning Profile.

An app ID is a string used to specify an app, or set of apps. An app ID’s primary use is to specify which apps are authorized to be signed and launched. You can configure an app ID to share data between apps and enable an app to use Apple Push Notification Service (APNS), In-App Purchase, iCloud, and Game Center.

An app ID has two parts: the team ID followed by the bundle ID search string. The team ID is a 10-character string generated by Apple. Each development team is assigned a unique team ID used to identify all your apps. The team ID allows you to share keychain data between apps. Apps with the same team ID can share data, such as usernames and passwords. A bundle ID search string is traditionally a reverse-domain-name style string. It’s the string you use in Xcode as the bundle ID.

Figure 4-1  The Two Parts of an App ID, the Team ID and the Bundle ID Search String.

There are two types of app IDs that can be created: wildcard app IDs and explicit app IDs. The bundle ID search string determines the type of the app ID. The following sections provide a brief review of the types of IDs. For a detailed explanation, see Application Identifiers are Used to Match Applications to Services.

Use Wildcard App IDs for a Set of Apps

A wildcard app ID allows you to use a single app ID to build and install multiple apps. However, wildcard app IDs can’t be used with APNS, In-App Purchase, iCloud, or Game Center. Use a wildcard app ID when getting started with development because it can simplify provisioning devices.

A wildcard app ID uses the asterisk character (*) in the bundle ID search string. The asterisk must be the last character in the bundle ID search string, such as com.domain.* or just *. In the bundle identifier field in Xcode, developers can replace the asterisk with any string, as long as it matches the wildcard pattern. For example, the app ID a1b2c3d4e5.com.domainname.* matches the bundle ID a1b2c3d4e5.com.domainname.myApp4.

Figure 4-2  Examples of How to Format a Wildcard App ID.
This figure shows how a wildcard character, an asterisk, can be placed in the bundle identifier. It can either fully replace the bundle identifier or can replace just the last part.

For your convenience, Xcode creates a wildcard app ID, called iOS Wildcard App ID, that is set to *, and used by a development provisioning profile, called iOS Team Provisioning Profile, that it manages for you.

Use Explicit App IDs for APNS, In-App Purchase, iCloud, and Game Center

Use an explicit app ID if you want to use APNS, In-App Purchase, iCloud, and Game Center features. Because explicit app IDs match only one app, a separate ID and accompanying provisioning profile is required for each app.

An explicit app ID uses a reverse-domain-name string that exactly matches the bundle ID in Xcode.

Creating an App ID

Only team agents or admins can create app IDs.

bullet
To create an app ID
  1. Navigate to the App IDs area of the iOS Provisioning Portal and click New App ID in the upper right.

  2. Enter a name for the app ID under Description. This name is for your own use to identify the app ID.

  3. Enter a bundle ID search string and click Submit.

../Art/Creating_an_App_ID.png

After your app ID is generated, it is listed in the app IDs area of the iOS Provisioning Portal under the name you gave it.

Configuring Your App ID for Apple Push Notification Service

To use Apple Push Notification Service (APNS), you need to configure your app ID and then create a new provisioning profile with the configured ID. To learn more about APNS, see Apple Push Notification Service.

bullet
To enable your app ID for APNS
  1. Navigate to the app IDs area of the iOS Provisioning Portal. Any app IDs that are eligible for APNS have a yellow indicator light. Click Configure next to the app ID.

    Only explicit app IDs can be used; wildcard and duplicate app IDs are not eligible for APNS.

  2. Select “Enable for Apple Push Notification Service” and then click Configure next to the appropriate SSL Certificate.

    A Client Authentication SSL Certificate is created for you.

  3. Follow the instructions in the SSL Certificate Assistant. This procedure installs the private key and public SSL certificate on your notification server.

Configuring Your App ID for iCloud

To use iCloud, you need to configure your app ID and then create a new provisioning profile with the configured ID. To learn more about using iCloud for your app, see iCloud Storage.

bullet
To enable your app ID for iCloud
  1. Navigate to the app IDs area of the iOS Provisioning Portal. Any app IDs that are eligible for iCloud have a yellow indicator light. Click Configure next to the app ID.

    Only explicit app IDs can be used; wildcard and duplicate app IDs are not eligible for iCloud.

  2. Select “Enable for iCloud” and then click Done.

Explicit App IDs Are Automatically Enabled for In-App Purchase and Game Center

In-App Purchase allows users to purchase extra content from within your app. Game Center is Apple’s social gaming network and allows you to implement features such as aliases, leaderboards, achievements, and matchmaking. To configure your app for In-App Purchase and Game Center, you need an explicit app ID. Explicit app IDs are automatically enabled for In-App Purchase and Game Center.

For more information about configuring your app for In-App Purchase and Game Center see iTunes Connect and the iTunes Connect Developer Guide.

Updating Your App to Include APNS, iCloud, In-App Purchase, or Game Center Requires an Explicit App ID

As you develop, you might want to add features to your app. To support APNS, iCloud, In-App Purchase, or Game Center, you need an app signed with a provisioning profile that uses an explicit app ID. If you have an app that uses a wildcard app ID, you need to create a new app ID and then modify your provisioning profile.

bullet
To update your app ID:
  1. Identify your app’s current bundle ID in Xcode or iTunes Connect.

  2. Create a new app ID in the App IDs area of the iOS Provisioning Portal with your app’s bundle ID search string.

  3. Enable your app ID for APNS or iCloud (see Configuring Your App ID for Apple Push Notification Service or Configuring Your App ID for iCloud). Explicit app IDs are automatically enabled for In-App Purchase and Game Center.

  4. Modify your provisioning profile to use the new explicit app ID.