Important: This document has been replaced by App Distribution Guide. App Distribution Guide offers step-by-step instructions for configuring, testing, and submitting your app for approval. This new document describes how to use Xcode and other Apple developer tools to create and configure your project, request signing certificates, create provisioning profiles, configure special App Store technologies, test your app on devices, create your app record in iTunes Connect, and submit your app for approval to Apple. If you have a company Apple Developer Program membership, you’ll also learn how to manage your team’s certificates and provisioning assets.
Creating and Configuring App IDs
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.
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
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.
Navigate to the App IDs area of the iOS Provisioning Portal and click New App ID in the upper right.
Enter a name for the app ID under Description. This name is for your own use to identify the app ID.
Enter a bundle ID search string and click Submit.
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.
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.
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.
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.
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.
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.
Identify your app’s current bundle ID in Xcode or iTunes Connect.
Create a new app ID in the App IDs area of the iOS Provisioning Portal with your app’s bundle ID search string.
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.
Modify your provisioning profile to use the new explicit app ID.