Checklists /Ship to the App Store /Release

High

Set a new version and a new build number

App Store Connect rejects an upload whose build number was already used for that version. The version you show people (CFBundleShortVersionString) and the build number (CFBundleVersion) are different. Expo and FlutterFlow often leave both at 1.0.0 and 1, so the second archive fails.

How to check

  1. Read the marketing version and the build number in Xcode, app.json, or the generated Info.plist.
  2. The build number must be higher than any build you already uploaded for this version.
  3. The version on the App Store Connect page must match the binary.
  4. If you use EAS, confirm the remote version source is the one you think it is, so a cloud build does not reuse a number.

Prompt

Fix prompt
Paste into Cursor or Claude Code
You are working in this iOS project. Do not add features.

Goal: Version and build numbers are explicit, and the build number is not stuck at 1.

The project may be Expo, React Native, Swift, a Capacitor wrapper, or a FlutterFlow export. Change only files that already exist.

Steps:
1. Find CFBundleShortVersionString, CFBundleVersion, and the Expo or Flutter equivalents.
2. If the build number is still the template default, tell me the current values and where to bump them. Do not pick a store version I have not approved.
3. Keep the two numbers distinct in any config comment you add.
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.

This uses the same ticks as the checklist page, saved in this browser.