Short answer
Read the approved version in the error message and go above it. Set the new version in the part before + in a Flutter pubspec, or in Marketing Version in a native Xcode project, raise the build number too, and archive again. In App Store Connect, create the new version with the same number.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
Why the version is rejected, and the fix
01
The version was already approved
“In the New Version dialog, enter an incremental App Store version number, then click Create.” App Store Connect Help, Create a new version
Once a version has been approved, every later upload needs a higher one. Pick the next number, such as 1.2.1, and use it in Xcode and in App Store Connect.
02
The version string format also matters
“The required format is three period-separated integers, such as 10.14.1. The string can only contain numeric characters (0-9) and periods.” Apple Developer, CFBundleShortVersionString
Apple compares the numbers in order, so 1.10.0 is higher than 1.9.0, not lower. Letters, a v prefix or a suffix such as -beta don’t belong in this field and cause upload errors of their own.
03
Flutter or CI sets the version, not Xcode
“In iOS, build-name uses CFBundleShortVersionString while build-number uses CFBundleVersion.” Flutter docs, Build and release an iOS app
In a Flutter app the pubspec version feeds both numbers, so a change made only in Xcode is overwritten on the next build. Raise it in pubspec.yaml, or pass it on the build command in CI.
# pubspec.yaml: version is build-name, after + is build-number version: 1.2.1+42 # or set both on the command line flutter build ipa --build-name=1.2.1 --build-number=4204
A native project has a typed-in number
In a native iOS project, a fixed value in Info.plist means Xcode’s Marketing Version setting never reaches the build. Point the keys at the build settings below. In a Flutter project, use $(FLUTTER_BUILD_NAME) and $(FLUTTER_BUILD_NUMBER) instead, so the pubspec version reaches the build.
<key>CFBundleShortVersionString</key> <string>$(MARKETING_VERSION)</string> <key>CFBundleVersion</key> <string>$(CURRENT_PROJECT_VERSION)</string>05
Raise the build number as well
“In Xcode, increment the build string before you upload your build to App Store Connect, as described in Set the version number and build string.” App Store Connect Help, Create a new version
The build number is separate from the version. A new version can restart it, but uploading the same version again needs a new build number, so raising both avoids a second rejection.
Checked against the vendor’s docs on : Apple Developer: CFBundleShortVersionString; Apple Developer: CFBundleVersion; App Store Connect Help: Create a new version; Flutter docs: Build and release an iOS app.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
Resubmit before Apple’s holiday slowdown
Pay for the Diagnosis and send the rejection and access to the app by (US Eastern). The Diagnosis is back by . Pay for the Fix that day and it arrives as a pull request by , in time to build and resubmit before .
In past years Apple said reviews may take longer around the holidays: December 20 to 26 in 2024 (opens in a new tab), December 22 to 27 in 2023 (opens in a new tab), December 23 to 27 in 2022 (opens in a new tab). Apple hasn’t posted its 2026 dates yet (checked ). Approval stays Apple’s decision.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: ITMS-90725 SDK version issue · ITMS-91053 Missing API declaration · Xcode provisioning profile invalid or expired · ITMS-91061 missing privacy manifest