App IDs and Identifiers in Apple Developer: Configuration
An App ID determines which capabilities are available to your app and how it’s identified within Apple’s ecosystem. This article goes deeper into configuration, building on the general Certificates, Identifiers & Profiles overview.
Explicit vs Wildcard App ID
Apple lets you create an App ID in two ways:
Explicit App ID
An exact identifier for one specific app, e.g., com.yourcompany.appname. Required if the app needs specific capabilities — push notifications, iCloud, In-App Purchase, Sign in with Apple, and most other advanced features.
Wildcard App ID
Uses a pattern like com.yourcompany.*, covering multiple apps under one identifier. Only suitable for very simple apps with no special capabilities — this limitation rules it out for most modern apps.
Practical recommendation: use an Explicit App ID almost always, even for simple apps — it saves you from having to redo your configuration later if you need to add a capability.

Bundle ID format
The Bundle ID (matching the App ID) is traditionally written in reverse-domain format: com.company.appname. Requirements:
- letters, numbers, and periods only;
- must be globally unique within Apple’s system — if it’s already taken by another developer, you’ll need a different one;
- best practice is to tie it to a domain you actually control, to avoid conflicts and for consistency with other services (e.g., Universal Links).
How to create an App ID
- developer.apple.com/account → Certificates, Identifiers & Profiles → Identifiers.
- Click “+.”
- Select “App IDs” → Continue.
- Choose type “App” (as opposed to App Clip or other special types).
- Enter a description (for internal identification in the list) and the Bundle ID.
- Check the capabilities you need — the list depends on which Apple services the app uses.
- Click “Register.”
Managing capabilities after creation
Capabilities can be added to an existing App ID anytime from the same Identifiers page — but after a change, you need to regenerate the associated provisioning profiles, or Xcode won’t pick up the new capability at build time.
Some capabilities need additional configuration beyond the Apple Developer portal:
- Push notifications — additionally require a key or certificate for APNs (Apple Push Notification service).
- Sign in with Apple — requires setting up Return URLs and associated domains if you have a web version.
- App Groups — requires creating a separate App Group identifier and linking it to the relevant App IDs.

Common configuration mistakes
- Using a Wildcard App ID for an app that later needed push notifications — you end up creating a new Explicit App ID and redoing the entire signing process.
- A Bundle ID mismatch between Xcode and the portal — a common cause of build errors; the Bundle ID in Xcode’s target settings must exactly match what’s registered on the portal.
- Forgetting to enable the capability in the Xcode project itself after enabling it on the portal — the capability also needs enabling in Signing & Capabilities in the project; registering it on the portal alone doesn’t do this automatically.
FAQ
Can I rename a Bundle ID after the app is published?
No — changing the Bundle ID of an already-published app effectively means creating a new app from Apple’s perspective; review history and ratings don’t carry over.
Do I need a separate App ID for a watchOS/macOS version of the same app?
Usually yes — extensions and companion apps (watch extension, widget) get their own App IDs, logically related to the main one through a shared Bundle ID prefix.
What if the Bundle ID I want is already taken?
If it’s taken by your own old project, you can free it up by deleting the old App ID (if it’s not in active use). If it’s taken by another developer, you’ll need to choose a different Bundle ID.
This article is independent and not affiliated with Apple Inc. For official documentation, see developer.apple.com/account/resources/identifiers.
Related: Certificates, Identifiers & Profiles: A Beginner’s Guide · Provisioning Profiles in Apple Developer: Creating and Managing Them · Apple Developer API & App Store Connect API: Getting Started