Bundle ID / Package name properly formatted
Why it matters
Bundle ID (iOS) and package name (Android) are the permanent, immutable identifiers that link every version of your app, every review, every user install, and every in-app purchase receipt to a single entity in the store databases. A malformed identifier — one that uses uppercase characters, hyphens, or has fewer than three segments — causes binary submission rejection before review begins. Using a generic placeholder like com.example.app in production is grounds for immediate rejection. Critically, once an app is published, changing the bundle ID or package name creates a brand-new app listing, breaking updates for all existing users. The Apple Bundle ID spec (apple-bundle-id) and Android Application ID spec (android-application-id) both mandate strict reverse domain notation.
Severity rationale
Critical because an invalid or generic bundle ID/package name causes immediate binary rejection, and any post-publication change severs the update chain for all existing users permanently.
Remediation
Set both identifiers in app.json before first submission. Use strict reverse domain notation: all lowercase, alphanumeric segments only, each segment starting with a letter, minimum three segments.
// app.json
{
"expo": {
"ios": {
"bundleIdentifier": "com.yourcompany.appname"
},
"android": {
"package": "com.yourcompany.appname"
}
}
}
Choose this identifier before first TestFlight or Play Console submission — it cannot be changed without losing all existing installs and reviews. Avoid hyphens in any segment (they are illegal in both specs). Segments must not start with a digit.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · apple-bundle-id — Apple Developer — Registering your app bundle ID
- external · android-application-id — Android Developer — Set the application ID
Taxons
History
- 2026-04-18·v1.0.0·Initial import from mobile-store-readiness·automated