Checklists /Ship to the App Store /Accounts and setup
High
Register a bundle ID you control
The bundle ID is permanent for that App Store record. A generated ID such as com.example.app, or one copied from a tutorial, will be rejected or will belong to someone else's account. Expo, FlutterFlow and Capacitor all write a default. Replace it before the first upload, because changing it later means a new app.
How to check
- Read the bundle identifier in the Xcode target, app.json, the Capacitor config, or the FlutterFlow export.
- It should use a domain you control, reversed, such as com.yourname.app. It should not contain example, test, or localhost.
- In the Apple Developer account, open Identifiers and confirm that exact ID is registered to this team.
- The ID in the uploaded build, the identifier in the developer account, and the app in App Store Connect must match.
Prompt
Fix prompt
You are working in this iOS project. Do not add features. Goal: The iOS bundle identifier is a reverse-DNS ID for this product, used in every native config. The project may be Expo, React Native, Swift, a Capacitor wrapper, or a FlutterFlow export. Change only files that already exist. Steps: 1. Find every iOS bundle identifier, including app.json, Info.plist, the Xcode project, capacitor.config, and any Flutter project file. 2. If I have not given you the final ID, stop and ask. Do not invent a domain. 3. When I give you the ID, set it in every place the iOS target reads, and leave Android applicationId alone unless I ask. 4. Do not print certificates, private keys, API keys, or App Store Connect passwords. 5. Tell me which files you changed, and list anything I still have to do in Xcode or App Store Connect.