An App ID is a registered entry in your Apple Developer account that ties a Bundle ID to your Team ID and declares which capabilities the app uses. The full string Apple stores looks like `TEAMID.com.example.app`, with the Team ID prefix that distinguishes your `com.example.app` from another team's.
Explicit vs wildcard
- Explicit App ID
- Covers one exact Bundle ID, e.g. `com.example.app`. Required for App Store, push notifications, App Groups, iCloud containers, Sign in with Apple, in-app purchases, and most other capabilities.
- Wildcard App ID
- Covers a family of Bundle IDs, e.g. `com.example.*`. Useful for development across many short-lived demo apps. Cannot enable push, in-app purchase, App Groups, or iCloud containers.
What changes about it
- Adding a capability (push, App Groups, HealthKit, etc.) updates the App ID, which invalidates every existing profile that references it. Profiles must be regenerated.
- Renaming the App ID's display name does not invalidate profiles.
- Changing the Team ID is not possible. You register a new App ID under the new team.