After changing the Bundle ID, uploads fail. The most easily overlooked aspect is that you changed the Bundle ID in the project, but the certificate, provisioning profile, and App Store Connect records may still be old. Submitting an app to the iOS App Store is not just about the project configuration; it also validates that the Bundle ID in the IPA, the App ID bound to the provisioning profile, the app record created in App Store Connect, and the certificate and provisioning profile all match.
If any one of them still holds the old value, the upload will fail, or the build will not appear in the backend even after a successful upload.
For example, if the project’s original Bundle ID was “com.demo.oldapp” and later changed to “com.demo.newapp” in HBuilderX, Xcode, Flutter, or React Native, then repackaged and uploaded, you might see No suitable application records were found or:
Provisioning profile has app ID 'com.demo.oldapp',
which does not match the bundle ID 'com.demo.newapp'
This indicates a mismatch between the IPA and the Apple backend configuration.
First, Check the Real Bundle ID in the IPA
Don’t just look at the project configuration files; check the final IPA first.
After unzipping the IPA, check the “CFBundleIdentifier” in Info.plist to see whether it is “com.demo.oldapp” or “com.demo.newapp”. If the IPA still contains the old value, the build configuration did not take effect.
Then, Check the App ID Bound to the Provisioning Profile
The provisioning profile .mobileprovision also contains an App ID. If the profile is bound to the old Bundle ID, the signing verification will fail even if the project has been changed to the new value.
You can use AppUploader (Happy Listing) to view the provisioning profile contents:
- Open AppUploader
- Go to File Viewer or Provisioning Profile Management
- Select
.mobileprovision - View the bound Bundle ID / App ID
If it still shows the old ID, you need to regenerate the provisioning profile.
Fix Process
1. Create a New Bundle ID in Apple Developer
For example, “com.demo.newapp”. You can also add it in Bundle ID Management in AppUploader.
2. Regenerate the Provisioning Profile
In AppUploader:
- Open “Provisioning Profile Management”
- Create a new provisioning profile
- Select App Store as the type
- Select the new ID for Bundle ID
- Bind the distribution certificate
- Download the new
.mobileprovision
3. Re-package the IPA
Replace the new Bundle ID and corresponding certificate in the packaging tool, then regenerate the IPA.
4. Create or Select the Corresponding App in App Store Connect
If there is no app record using the new Bundle ID in App Store Connect, the upload will not match correctly. Go to App Store Connect → My Apps → New App, and select the new Bundle ID.
5. Upload the IPA Again
You can use:
- Xcode Organizer
- Transporter
- Fastlane
- AppUploader Upload Tool
If uploading from Windows or Linux, you can use the AppUploader CLI.
Judgment Criteria
As long as the “Bundle ID in IPA”, “App ID in provisioning profile”, and “App record in App Store Connect” all use the latest Bundle ID and are consistent, the upload process will work normally.